jQuery遍曆DOM的父級元素、子級元素和同級元素的方法總結,jquerydom

來源:互聯網
上載者:User

jQuery遍曆DOM的父級元素、子級元素和同級元素的方法總結,jquerydom

如,顯示了HTML中的結構樹,通過 JQuery 遍曆,您能夠從被選(當前的)元素開始,輕鬆地在家族樹中向上移動(祖先),向下移動(子孫),水平移動(同胞)。這種移動被稱為對 DOM 進行遍曆。

遍曆 - 父級(祖先)
向上遍曆DOM數。

通過如下三個方法,我們可以擷取父級元素:

  1. parent()
  2. parents()
  3. parentsUntil()

1.JQuery parent()

parent() 方法返回被選元素的直接父元素。
該方法只會向上一級對 DOM 樹進行遍曆。

<section>  <h1>文章的<span>標題</span>啦</h1>  <p>文章的內容內容內容內容內容內容</p>  <p>結尾部分</p></section>
$(document).ready(function () {  // 通過parent()函數,可擷取當前元素的直接父級元素  var elem = $('span').parent();  console.log(elem);});

2.JQuery parents()

parents() 方法返回被選元素的所有父元素。

<section>  <h1>文章的<span>標題</span>啦</h1>  <p>文章的內容內容內容內容內容內容</p>  <p>結尾部分</p></section>
$(document).ready(function () {  // 通過parent()函數,可擷取當前元素的所有父級元素  var elem = $('span').parents();  console.log(elem); });

3.JQuery parentsUntil()

parentsUntil() 方法返回介於兩個給定元素之間的所有父級元素

<section>  <h1>文章的<span>標題</span>啦</h1>  <p>文章的內容內容內容內容內容內容</p>  <p>結尾部分</p></section>
$(document).ready(function () {  // 擷取span在body標籤下的所有父級元素  var elem = $('span').parentsUntil('body');  console.log(elem);});


遍曆 - 子級(後代)
向下遍曆DOM樹。

向下遍曆可以使用如下兩個函數:

1.children()
2.find()
1.JQuery children()

children() 方法返回被選元素的所有直接子項目。
該方法只會向下一級對 DOM 樹進行遍曆。

<section>  <h1>文章的<span>標題</span>啦</h1>  <p>文章的內容內容內容內容內容內容</p>  <p>結尾部分</p></section>
$(document).ready(function () {  // 擷取section標籤下的所有直接子項目  var elem = $('section').children();  console.log(elem);});

2.JQuery find()

find() 方法返回被選元素的後代元素,一路向下直到最後一個後代。

<section>  <h1>文章的<span>標題</span>啦</h1>  <p>文章的內容內容內容內容內容內容</p>  <p>結尾部分</p></section>
$(document).ready(function () {  // 擷取section標籤下的所有p標籤的子項目  var elem = $('section').find('p');  console.log(elem);  // 擷取section標籤下的所有子項目  var elems = $('section').find('*');  console.log(elems);});

遍曆 - 同級(兄弟)

有以下幾個方法:
1.sibings()
除自身外,遍曆同級的所有元素,修改適用於同級所有元素

2.next()
除自身外,僅下一個元素修改

3.nextAll()
除自身外,修改下面的所有元素

4.nextUntil()
除自身外,對下面的元素進行區間修改

5.prev()
修改上一個元素

6.preAll()
修改位於元素之上的所有元素

7.preUntil()
對位於區間之上的元素進行區間修改

 <style>    .bd *{      margin:5px;      padding:3px;      border:3px solid black;    }  </style></head><body><div class="bd"><p></p><h1></h1><h2></h2><h3></h3><h4></h4><h5></h5><h6></h6>  </div></body>
$(document).ready(function(){  //$("h1").siblings().css({border:"3px solid red"}) //$("h4").nextAll().css({border:"4px solid grey"});  $("h2").prev().css({border:"3px solid green"});});

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.