亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

jQuery 遍歷 - find() 方法

實(shí)例

搜索所有段落中的后代 span 元素,并將其顏色設(shè)置為紅色:

$("p").find("span").css('color','red');

親自試一試

定義和用法

find() 方法獲得當(dāng)前元素集合中每個(gè)元素的后代,通過選擇器、jQuery 對象或元素來篩選。

語法

.find(selector)
參數(shù) 描述
selector 字符串值,包含供匹配當(dāng)前元素集合的選擇器表達(dá)式。

詳細(xì)說明

如果給定一個(gè)表示 DOM 元素集合的 jQuery 對象,.find() 方法允許我們在 DOM 樹中搜索這些元素的后代,并用匹配元素來構(gòu)造一個(gè)新的 jQuery 對象。.find() 與 .children() 方法類似,不同的是后者僅沿著 DOM 樹向下遍歷單一層級。

.find() 方法第一個(gè)明顯特征是,其接受的選擇器表達(dá)式與我們向 $() 函數(shù)傳遞的表達(dá)式的類型相同。將通過測試這些元素是否匹配該表達(dá)式來對元素進(jìn)行過濾。

請思考下面這個(gè)簡單的嵌套列表:

<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 開始來查找其中的列表項(xiàng):

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

親自試一試

這次調(diào)研的結(jié)果是,項(xiàng)目 A、B、1、2、3 以及 C 均被設(shè)置了紅色背景。即使項(xiàng)目 II 匹配選擇器表達(dá)式,它也不會被包含在結(jié)果中;只會對后代進(jìn)行匹配。

與其他的樹遍歷方法不同,選擇器表達(dá)式對于 .find() 是必需的參數(shù)。如果我們需要實(shí)現(xiàn)對所有后代元素的取回,可以傳遞通配選擇器 '*'。

選擇器 context 是由 .find() 方法實(shí)現(xiàn)的;因此,$('li.item-ii').find('li') 等價(jià)于 $('li', 'li.item-ii')。

對于 jQuery 1.6,我們還可以使用給定的 jQuery 集合或元素來進(jìn)行篩選。還是上面的嵌套列表,我們首先這樣寫:

var $allListElements = $('li');

然后將這個(gè) jQuery 對象傳遞給 find 方法:

$('li.item-ii').find( $allListElements );

親自試一試

上面的代碼會返回一個(gè) jQuery 集合,其中包含屬于列表 II 后代的列表元素。

類似地,也可以傳遞一個(gè)元素:

var item1 = $('li.item-1')[0];
$('li.item-ii').find( item1 ).css('background-color', 'red');

親自試一試

這次調(diào)用的結(jié)果是項(xiàng)目 1 被設(shè)置為紅色背景。