jQuery遍歷DOM的父級(jí)元素、子級(jí)元素和同級(jí)元素的方法總結(jié)
如下圖,顯示了HTML中的結(jié)構(gòu)樹,通過(guò) JQuery 遍歷,您能夠從被選(當(dāng)前的)元素開始,輕松地在家族樹中向上移動(dòng)(祖先),向下移動(dòng)(子孫),水平移動(dòng)(同胞)。這種移動(dòng)被稱為對(duì) DOM 進(jìn)行遍歷。

遍歷 - 父級(jí)(祖先)
向上遍歷DOM數(shù)。
通過(guò)如下三個(gè)方法,我們可以獲取父級(jí)元素:
- parent()
- parents()
- parentsUntil()
1.JQuery parent()
parent() 方法返回被選元素的直接父元素。
該方法只會(huì)向上一級(jí)對(duì) 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 () {
// 通過(guò)parent()函數(shù),可獲取當(dāng)前元素的直接父級(jí)元素
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 () {
// 通過(guò)parent()函數(shù),可獲取當(dāng)前元素的所有父級(jí)元素
var elem = $('span').parents();
console.log(elem);
});
3.JQuery parentsUntil()
parentsUntil() 方法返回介于兩個(gè)給定元素之間的所有父級(jí)元素
<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)簽下的所有父級(jí)元素
var elem = $('span').parentsUntil('body');
console.log(elem);
});
遍歷 - 子級(jí)(后代)
向下遍歷DOM樹。
向下遍歷可以使用如下兩個(gè)函數(shù):
1.children()
2.find()
1.JQuery children()
children() 方法返回被選元素的所有直接子元素。
該方法只會(huì)向下一級(jí)對(duì) 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);
});
遍歷 - 同級(jí)(兄弟)
有以下幾個(gè)方法:
1.sibings()
除自身外,遍歷同級(jí)的所有元素,修改適用于同級(jí)所有元素
2.next()
除自身外,僅下一個(gè)元素修改
3.nextAll()
除自身外,修改下面的所有元素
4.nextUntil()
除自身外,對(duì)下面的元素進(jìn)行區(qū)間修改
5.prev()
修改上一個(gè)元素
6.preAll()
修改位于元素之上的所有元素
7.preUntil()
對(duì)位于區(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對(duì)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)文章
Colortip基于jquery的信息提示框插件在IE6下面的顯示問(wèn)題修正方法
今天看到了MK的這篇文章,然后其中的Colortip這個(gè)jQuery插件引起了我的注意,倒不是因?yàn)樗缕?,而是我之前看到過(guò),沒(méi)想到它就成了2010年最佳之一了2010-12-12
EasyUI Datebox 日期驗(yàn)證之開始日期小于結(jié)束時(shí)間
這篇文章主要介紹了EasyUI Datebox 日期驗(yàn)證之開始日期小于結(jié)束時(shí)間,需要的朋友可以參考下2017-05-05
jQuery實(shí)現(xiàn)平滑滾動(dòng)頁(yè)面到指定錨點(diǎn)鏈接的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)平滑滾動(dòng)頁(yè)面到指定錨點(diǎn)鏈接的方法,涉及jquery鼠標(biāo)事件及頁(yè)面滾動(dòng)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
jquery教程ajax請(qǐng)求json數(shù)據(jù)示例
這篇文章主要介紹了jquery獲取JSON對(duì)象中數(shù)據(jù)的示例,代碼中有注釋,大家參考使用吧2014-01-01
jQuery右鍵菜單contextMenu使用實(shí)例
在最近項(xiàng)目中需要頻繁的右鍵菜單操作。我采用了contextMenu這款jQuery插件。2011-09-09
淺談jQuery中的$.extend方法來(lái)擴(kuò)展JSON對(duì)象
下面小編就為大家?guī)?lái)一篇淺談jQuery中的$.extend方法來(lái)擴(kuò)展JSON對(duì)象。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
jquery分頁(yè)插件jpaginate在IE中不兼容問(wèn)題
這篇文章主要介紹了jquery分頁(yè)插件jpaginate不兼容ie的問(wèn)題,需要的朋友可以參考下2014-04-04
通過(guò)Ajax使用FormData對(duì)象無(wú)刷新上傳文件方法
這篇文章主要介紹了通過(guò)Ajax使用FormData對(duì)象無(wú)刷新上傳文件方法,具有一定的參考價(jià)值,感興趣的朋友可以了解一下。2016-12-12
jquery實(shí)現(xiàn)很酷的網(wǎng)頁(yè)頂部圖標(biāo)下拉菜單效果
這篇文章主要介紹了jquery實(shí)現(xiàn)很酷的網(wǎng)頁(yè)頂部圖標(biāo)下拉菜單效果,效果非常美觀大方,通過(guò)鼠標(biāo)hover事件及頁(yè)面元素的遍歷與樣式操作實(shí)現(xiàn)該功能,需要的朋友可以參考下2015-08-08

