问答详情
源自:6-2 jQuery遍历之find()方法

find()方法中的 context问题

$('.item-ii').find('li') 等价于 $('li', '.item-ii')(找到类名为item-ii的标签下的li标签)。w3c这么写:$('li.item-ii').find('li') 等价于 $('li', 'li.item-ii'),我想知道前面的li.item-ii这是啥意思?不太懂

提问者:weibo_0o月落无痕o0_0 2016-12-09 10:18

个回答

  • 慕粉4274102
    2016-12-09 11:21:44
    已采纳

    <ul class="level-1">
     <li class="item-i">I</li>
     <li class="item-ii">II
       <ul class="level-2">
         <li class="item-a">A</li>
         <li class="item-b">B
           <ul class="level-3">
             <li class="item-1">1</li>
             <li class="item-2">2</li>
             <li class="item-3">3</li>
           </ul>
         </li>
         <li class="item-c">C</li>
       </ul>
     </li>
     <li class="item-iii">III</li>
    </ul>

    我们将从列表 II 开始来查找其中的列表项:

    $('li.item-ii').find('li').css('background-color', 'red');

    你指这个例子吧?你要看清楚,这是li class="item-ii里面嵌套了一个ul,ul里面又有一个li。

    换句话说,$('li.item-ii').find('li')的意思是找到<li class="item-ii">II的后代的li标签