精品熟女碰碰人人a久久,多姿,欧美欧美a v日韩中文字幕,日本福利片秋霞国产午夜,欧美成人禁片在线观看

jQuery 遍歷 find() 方法

jQuery 遍歷 find() 方法

jQuery 參考手冊 遍歷jQuery 參考手冊 遍歷

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

 

1. 語法

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

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

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

請思考下面這個簡單的嵌套列表:

<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');

這次調研的結果是,項目 A、B、1、2、3 以及 C 均被設置了紅色背景。即使項目 II 匹配選擇器表達式,它也不會被包含在結果中;只會對后代進行匹配。

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

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

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

var $allListElements = $('li');

然后將這個 jQuery 對象傳遞給 find 方法:

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

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

類似地,也可以傳遞一個元素:

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

這次調用的結果是項目 1 被設置為紅色背景。

 

2. 范例

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

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

jQuery 參考手冊 遍歷jQuery 參考手冊 遍歷

下一節:jQuery 遍歷 first() 方法

jQuery 教程

相關文章