黄色电影一区二区,韩国少妇自慰A片免费看,精品人妻少妇一级毛片免费蜜桃AV按摩师 ,超碰 香蕉

jQuery 遍歷 closest() 方法

jQuery 遍歷 closest() 方法

jQuery 參考手冊(cè) 遍歷jQuery 參考手冊(cè) 遍歷

closest() 方法獲得匹配選擇器的第一個(gè)祖先元素,從當(dāng)前元素開(kāi)始沿 DOM 樹(shù)向上。

 

1. 語(yǔ)法

.closest(selector)
參數(shù) 描述
selector 字符串值,包含匹配元素的選擇器表達(dá)式。

如果給定表示 DOM 元素集合的 jQuery 對(duì)象,.closest() 方法允許我們檢索 DOM 樹(shù)中的這些元素以及它們的祖先元素,并用匹配元素構(gòu)造新的 jQuery 對(duì)象。.parents() 和 .closest() 方法類似,它們都沿 DOM 樹(shù)向上遍歷。兩者之間的差異盡管微妙,卻很重要:

.closest() .parents()
從當(dāng)前元素開(kāi)始 從父元素開(kāi)始
沿 DOM 樹(shù)向上遍歷,直到找到已應(yīng)用選擇器的一個(gè)匹配為止。 沿 DOM 樹(shù)向上遍歷,直到文檔的根元素為止,將每個(gè)祖先元素添加到一個(gè)臨時(shí)的集合;如果應(yīng)用了選擇器,則會(huì)基于該選擇器對(duì)這個(gè)集合進(jìn)行篩選。
返回包含零個(gè)或一個(gè)元素的 jQuery 對(duì)象 返回包含零個(gè)、一個(gè)或多個(gè)元素的 jQuery 對(duì)象

請(qǐng)看下面的 HTML 片段:

<ul id="one" class="level-1">
  <li class="item-i">I</li>
  <li id="ii" 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>

例子 1

假設(shè)我們執(zhí)行一個(gè)從項(xiàng)目 A 開(kāi)始的對(duì) <ul> 元素的搜索:

$('li.item-a').closest('ul').css('background-color', 'red');

這會(huì)改變 level-2 <ul> 的顏色,這是因?yàn)楫?dāng)向上遍歷 DOM 樹(shù)時(shí)會(huì)第一個(gè)遇到該元素。

例子 2

假設(shè)我們搜索的是 <li> 元素:

$('li.item-a').closest('li').css('background-color', 'red');

這會(huì)改變列表項(xiàng)目 A 的顏色。在向上遍歷 DOM 樹(shù)之前,.closest() 方法會(huì)從 li 元素本身開(kāi)始搜索,直到選擇器匹配項(xiàng)目 A 為止。

例子 3

我們可以傳遞 DOM 元素作為 context,在其中搜索最接近的元素。

var listItemII = document.getElementById('ii');
$('li.item-a').closest('ul', listItemII).css('background-color', 'red');
$('li.item-a').closest('#one', listItemII).css('background-color', 'green');

以上代碼會(huì)改變 level-2 <ul> 的顏色,因?yàn)樗仁橇斜眄?xiàng) A 的第一個(gè) <ul> 祖先,同時(shí)也是列表項(xiàng) II 的后代。它不會(huì)改變 level-1 <ul> 的顏色,因?yàn)樗皇?list item II 的后代。

 

2. 范例

本例演示如何通過(guò) closest() 完成事件委托。當(dāng)被最接近的列表元素或其子后代元素被點(diǎn)擊時(shí),會(huì)切換黃色背景:

$( document ).bind("click", function( e ) {
    $( e.target ).closest("li").toggleClass("hilight");
  });

jQuery 參考手冊(cè) 遍歷jQuery 參考手冊(cè) 遍歷

下一節(jié):jQuery 遍歷 contents() 方法

jQuery 教程

相關(guān)文章