jquery children()和find()区别

Posted 小猪(朱)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery children()和find()区别相关的知识,希望对你有一定的参考价值。

<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        div{
            /*background-color: pink;*/
        }
    </style>
</head>
<body>
    <div>
        <span>11</span>
        <span>
            <ul>
                <li class="no1">aaa</li>
                <li>bbb</li>
                <li>ccc</li>
            </ul>
        </span>
        <span>222</span>
        <ul>
            <li>ddd</li>
            <li>eee</li>
            <li>fff</li>
        </ul>
    </div>
 
 
</body>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
    $("div").children(".no1").css({color:\'#a61c00\',backgroundColor:"#0000ff"});
    console.log($("div").children(".no1")[0]); // 打印获取到的dom元素 这时你会发现结果为 undefined 
 
    // $("div").find(".no1").css({color:\'#a61c00\',backgroundColor:"#0000ff"});
</script>
</html>

 

 此时我们再把find 这项打开注释

<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        div{
            /*background-color: pink;*/
        }
    </style>
</head>
<body>
    <div>
        <span>11</span>
        <span>
            <ul>
                <li class="no1">aaa</li>
                <li>bbb</li>
                <li>ccc</li>
            </ul>
        </span>
        <span>222</span>
        <ul>
            <li>ddd</li>
            <li>eee</li>
            <li>fff</li>
        </ul>
    </div>
 
</body>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
    // $("div").children(".no1").css({color:\'#a61c00\',backgroundColor:"#0000ff"});
    // console.log($("div").children(".no1")[0]);
 
 
    $("div").find(".no1").css({color:\'#a61c00\',backgroundColor:"#0000ff"});
    console.log($("div").find(".no1")[0]);
</script>
</html>

对应截图:

 

 

总结 一下区别:

children() 方法返回返回被选元素的所有直接子元素 (直接子元素,只找儿子不要孙子(: 也就是说不会递归去遍历)

find()方法获得当前元素集合中每个元素的后代 (注意find()方法,必须传参数,否者无效)

以上是关于jquery children()和find()区别的主要内容,如果未能解决你的问题,请参考以下文章

jQuery中focusin()和focus()find()和children()的差别

基于jquery 的find()函数和children()函数的区别

jquery children()和find()区别

一个样例看清楚JQuery子元素选择器children()和find()的差别

基于jquery中children()与find()的区别介绍

jQuery:find()与children()区别