jQuery遍歷DOM的父級元素、子級元素和同級元素的方法總結(jié)
如下圖,顯示了HTML中的結(jié)構(gòu)樹,通過 JQuery 遍歷,您能夠從被選(當(dāng)前的)元素開始,輕松地在家族樹中向上移動(祖先),向下移動(子孫),水平移動(同胞)。這種移動被稱為對 DOM 進(jìn)行遍歷。
遍歷 - 父級(祖先)
向上遍歷DOM數(shù)。
通過如下三個(gè)方法,我們可以獲取父級元素:
- parent()
- parents()
- parentsUntil()
1.JQuery parent()
parent() 方法返回被選元素的直接父元素。
該方法只會向上一級對 DOM 樹進(jìn)行遍歷。
<section> <h1>文章的<span>標(biāo)題</span>啦</h1> <p>文章的內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容</p> <p>結(jié)尾部分</p> </section>
$(document).ready(function () { // 通過parent()函數(shù),可獲取當(dāng)前元素的直接父級元素 var elem = $('span').parent(); console.log(elem); });
2.JQuery parents()
parents() 方法返回被選元素的所有父元素。
<section> <h1>文章的<span>標(biāo)題</span>啦</h1> <p>文章的內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容</p> <p>結(jié)尾部分</p> </section>
$(document).ready(function () { // 通過parent()函數(shù),可獲取當(dāng)前元素的所有父級元素 var elem = $('span').parents(); console.log(elem); });
3.JQuery parentsUntil()
parentsUntil() 方法返回介于兩個(gè)給定元素之間的所有父級元素
<section> <h1>文章的<span>標(biāo)題</span>啦</h1> <p>文章的內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容</p> <p>結(jié)尾部分</p> </section>
$(document).ready(function () { // 獲取span在body標(biāo)簽下的所有父級元素 var elem = $('span').parentsUntil('body'); console.log(elem); });
遍歷 - 子級(后代)
向下遍歷DOM樹。
向下遍歷可以使用如下兩個(gè)函數(shù):
1.children()
2.find()
1.JQuery children()
children() 方法返回被選元素的所有直接子元素。
該方法只會向下一級對 DOM 樹進(jìn)行遍歷。
<section> <h1>文章的<span>標(biāo)題</span>啦</h1> <p>文章的內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容</p> <p>結(jié)尾部分</p> </section>
$(document).ready(function () { // 獲取section標(biāo)簽下的所有直接子元素 var elem = $('section').children(); console.log(elem); });
2.JQuery find()
find() 方法返回被選元素的后代元素,一路向下直到最后一個(gè)后代。
<section> <h1>文章的<span>標(biāo)題</span>啦</h1> <p>文章的內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容</p> <p>結(jié)尾部分</p> </section>
$(document).ready(function () { // 獲取section標(biāo)簽下的所有p標(biāo)簽的子元素 var elem = $('section').find('p'); console.log(elem); // 獲取section標(biāo)簽下的所有子元素 var elems = $('section').find('*'); console.log(elems); });
遍歷 - 同級(兄弟)
有以下幾個(gè)方法:
1.sibings()
除自身外,遍歷同級的所有元素,修改適用于同級所有元素
2.next()
除自身外,僅下一個(gè)元素修改
3.nextAll()
除自身外,修改下面的所有元素
4.nextUntil()
除自身外,對下面的元素進(jìn)行區(qū)間修改
5.prev()
修改上一個(gè)元素
6.preAll()
修改位于元素之上的所有元素
7.preUntil()
對位于區(qū)間之上的元素進(jìn)行區(qū)間修改
<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"}); });
- jQuery利用DOM遍歷實(shí)現(xiàn)商城結(jié)算系統(tǒng)實(shí)戰(zhàn)
- jQuery常見的遍歷DOM操作詳解
- jQuery DOM節(jié)點(diǎn)的遍歷方法小結(jié)
- 舉例講解jQuery對DOM元素的向上遍歷、向下遍歷和水平遍歷
- jQuery遍歷DOM元素與節(jié)點(diǎn)方法詳解
- jQuery遍歷DOM節(jié)點(diǎn)操作之filter()方法詳解
- JQuery遍歷DOM節(jié)點(diǎn)的方法
- jQuery向上遍歷DOM樹之parents(),parent(),closest()之間的區(qū)別
- jQuery操作Dom元素與遍歷以及JS遍歷詳細(xì)講解
相關(guān)文章
jquery提取元素里的純文本不包含span等里的內(nèi)容
如何實(shí)現(xiàn)提取元素里的純文本,不包含span等里的內(nèi)容,這就是本文要為大家介紹的重點(diǎn),你將學(xué)會使用jquery來實(shí)現(xiàn)2013-09-09jQuery.extend 與 jQuery.fn.extend的用法及區(qū)別實(shí)例分析
這篇文章主要介紹了jQuery.extend 與 jQuery.fn.extend的用法及區(qū)別,結(jié)合實(shí)例形式分析了jQuery.extend與jQuery.fn.extend的功能、使用方法及區(qū)別,需要的朋友可以參考下2018-07-07從零開始學(xué)習(xí)jQuery (五) jquery事件與事件對象
事件是腳本編程的靈魂. 所以本章內(nèi)容也是jQuery學(xué)習(xí)的重點(diǎn). 本文將對jQuery中的事件處理以及事件對象進(jìn)行詳細(xì)的講解.2011-02-02jQuery事件綁定與解除綁定實(shí)現(xiàn)方法
這篇文章主要介紹了jQuery事件綁定與解除綁定實(shí)現(xiàn)方法,實(shí)例分析了jQuery中bind與unbind方法的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04jQuery EasyUI API 中文文檔 - Panel面板
jQuery EasyUI API 中文文檔 - Panel面板,使用jQuery EasyUI的朋友可以參考下。2011-09-09juqery 學(xué)習(xí)之三 選擇器 簡單 內(nèi)容
juqery 學(xué)習(xí)之三 選擇器 簡單 內(nèi)容,學(xué)習(xí)jquery的朋友可以參考下。2010-11-11jquery實(shí)現(xiàn)員工信息添加與刪除功能
這篇文章主要為大家詳細(xì)介紹了利用jquery制作簡易的員工信息添加與刪除,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09jQuery怎么解析Json字符串(Json格式/Json對象)
可以利用jquery或js解析json數(shù)據(jù),下面與大家分享下jquery解析json字符串方法,一個(gè)是解析Json格式,一個(gè)是解析Json對象,感興趣的朋友可以學(xué)習(xí)下2013-08-08