1. 程式人生 > >jquery選擇器 之 獲取父級元素、同級元素、子元素

jquery選擇器 之 獲取父級元素、同級元素、子元素

一、獲取父級元素

1、 parent([expr]):
獲得當前匹配元素集合中每個元素的父元素,使用選擇器進行篩選是可選的。

<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>

如果我們從專案 A 開始,則可找到其父元素:
$('li.item-a').parent().css('background-color', 'red');
此次呼叫的結果是,為 level-2 列表設定紅色背景。由於我們未應用選擇器表示式,父元素很自然地成為了物件的一部分。如果已應用選擇器,則會在包含元素之前,檢測元素是否匹配選擇器。

2、parents()

獲得當前匹配元素集合中每個元素的祖先元素,使用選擇器進行篩選是可選的。

$('li.item-a').parents().css('background-color', 'red');
此次呼叫的結果是,level-2 列表、專案 II 以及 level-1 列表等元素(沿 DOM 樹一路向上直到 <html>)設定紅色背景。

3、.closest(selector)
closest() 方法獲得匹配選擇器的第一個祖先元素,從當前元素開始沿 DOM 樹向上。


二、獲取同級元素

1、.next(selector)
獲得匹配元素緊鄰的下一個同胞元素。如果提供選擇器,則取回匹配該選擇器的下一個同胞元素。

2、.nextAll(selector)
 獲得匹配元素後面的所有同胞元素,由選擇器篩選是可選的。

3、.prev(selector)
獲得匹配元素緊鄰的前一個同胞元素(與next相反)

4、.prevAll(selector)
 獲得當前匹配元素前面的所有同胞元素(與nextAll相反)

三、獲取子元素

1、.children(selector)


返回匹配元素的子元素,新增可選引數可通過選擇器進行過濾。

2、.find(selector)
獲得當前元素的後代