jq的遍歷關系元素方法集合


children

.children(selector)

返回被選元素的所有直接子元素,不返回文本節點;

 

下面例子:給level-2的子元素設置border。比較使用children和find

html

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

使用children

<script>$('ul.level-2').children().css('border', '1px solid red');</script>

 

結果:

 

使用find,非直接子元素的li也設置上了border

<script>$('ul.level-2').find('li').css('border', '1px solid red');</script>

 

如果需要獲得包含文本和注釋節點在內的所有子節點,請使用 .contents(),檢索 DOM 樹中的這些元素的直接子節點。

.contents() 方法也可以用於獲得 iframe 的內容文檔,前提是該 iframe 與主頁面在同一個域。

each

為每個匹配元素規定運行的函數,返回 false 可用於及早停止循環

$(selector).each(function(index,element))
參數:選擇器的 index 位置;element,當前的元素(也可使用 "this" 選擇器)

$("button").click(function(){
  $("li").each(function(){
    alert($(this).text())
  });
});

eq

指定匹配元素合集中 index 上的一個

index:整數,指示元素的位置(最小為 0),如果是負數,則從集合中的最后一個元素往回計數。

注:如果無法根據指定的 index 參數找到元素,則該方法構造帶有空集的 jQuery 對象,length 屬性為 0。

下面代碼:為 index 為 2 的 div 添加類,將其變為藍色:

$("body").find("div").eq(2).addClass("blue");

 

filter

通過選擇器匹配元素集合中的指定元素集合。

示例:改變所有 div 的顏色,然后向類名為 "middle" 的類添加邊框:

$("div").css("background", "#c8ebcc")
  .filter(".middle")
  .css("border-color", "red");

 

has

返回 后代包含has選擇器的元素

示例:返回包含ul的li元素

<ul>
  <li>list item 1</li>
  <li>list item 2
    <ul>
      <li>list item 2-a</li>
      <li>list item 2-b</li>
    </ul>
  </li>
  <li>list item 3</li>
  <li>list item 4</li>
</ul>

 

$('li').has('ul').css('background-color', 'red');

next和nextAll:選擇下一個同輩元素

<body>
  <div><span>And Again</span></div>
  <p class="selected">Hello Again</p>
  <p class="selected">Hello Again</p>

<script>
  $("div").next(".selected").css("background", "yellow");
</script>

</body>

使用next:選中挨着的第一個.selected

使用nextAll,選中所有

相似的找上一個同輩元素:prev,prevAll

not

 從匹配元素集合中刪除元素。參考文檔:http://www.w3school.com.cn/jquery/traversing_not.asp

 is

根據選擇器、元素或 jQuery 對象來檢測匹配元素集合,如果這些元素中至少有一個元素匹配給定的參數,則返回 true。

用法參考文檔:http://www.w3school.com.cn/jquery/traversing_is.asp

siblings

 匹配集合中每個元素的同胞,通過選擇器進行篩選是可選的。

<ul>
   <li>list item 1</li>
   <li>list item 2</li>
   <li class="third-item">list item 3</li>
   <li>list item 4</li>
   <li>list item 5</li>
</ul>

$('li.third-item').siblings().css('background-color', 'red');

代碼結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM