溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

jQuery常見的遍歷DOM操作詳解

發(fā)布時間:2020-08-31 16:31:37 來源:腳本之家 閱讀:181 作者:furway 欄目:web開發(fā)

本文實例總結(jié)了jQuery常見的遍歷DOM操作。分享給大家供大家參考,具體如下:

向上遍歷DOM樹

  • .parent():返回被選元素的直接父元素,該方法只會向上一級對DOM樹進(jìn)行遍歷
  • .parents():返回被選元素的所有祖先元素,一直向上遍歷,直到文檔的根元素(html)
  • .parentsUntil():返回介于兩個給定元素之間的所有祖先元素
<!DOCTYPE html>
<html>
<head>
<style>
.ancestors *{
display:block;
border:2px solid lightgrey;
color:lightgrey;
padding:5px;
margin:15px;
}
</style>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script >
$(document).ready(function(){
$("span").parent().css({"color":"red","border":"2px solid red"});
});
</script>
</head>
<body>
<div class="ancestors">
<div >div(曾祖父)
<ul>ul(祖父)
<li>li(直接父)
<span>span</span>
</li>
</ul>
</div>
<div >div(祖父)
<p>p(直接父)
<span>span</span>
</p>
</div>
</div>
</body>
</html>

運行結(jié)果:

jQuery常見的遍歷DOM操作詳解

parentsUntil()方法

$(document).ready(function(){
$("span").parentsUntil("div");
});

<!DOCTYPE html>
<html>
<head>
<style>
.ancestors *{
display:block;
border:2px solid lightgrey;
color:lightgrey;
padding:5px;
margin:15px;
}
</style>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("span").parentsUntil("div").css({"color":"red","border":"2px solid red"});
});
</script>
</head>
<body class="ancestors">body(增曾祖父)
<div >div(曾祖父)
<ul>ul(祖父)
<li>li(直接父)
<span>span</span>
</li>
</ul>
</div>
</body>
</html>

運行結(jié)果:

jQuery常見的遍歷DOM操作詳解

向下遍歷DOM樹

  • .children():返回被選元素的所有直接子元素,該方法只會向下一級對DOM樹進(jìn)行遍歷
  • .find():返回被選元素的后代元素,一直向下直到最后一個后代

children()方法

<!DOCTYPE html>
<html>
<head>
<style>
.descendants *{
display:block;
border:2px solid lightgrey;
color:lightgrey;
padding:5px;
margin:15px;
}
</style>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("div").children().css({"color":"red","border":"2px solid red"});
$("div").children("p.1").css({"color":"red","border":"2px solid red"});
});
</script>
</head>
<body>
<div class="descendants" >div(當(dāng)前元素)
<p class="1">p(子)
<span>span(孫)</span>
</p>
<p class="2">p(子)
<span>span(孫)</span>
</p>
</div>
</body>
</html>

運行結(jié)果:

jQuery常見的遍歷DOM操作詳解

find()方法

<!DOCTYPE html>
<html>
<head>
<style>
.descendants *{
display:block;
border:2px solid lightgrey;
color:lightgrey;
padding:5px;
margin:15px;
}
</style>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("div").find("span").css({"color":"red","border":"2px solid red"});
});
</script>
</head>
<body>
<div class="descendants" >div(current element)
<p>P子
<span>span(孫)</span>
</p>
<p>p子
<span>span(孫)</span>
</p>
</div>
</body>
</html>

運行結(jié)果:

jQuery常見的遍歷DOM操作詳解

返回<div>所有后代

$(document).ready(function(){
$("div").find("*");
});

水平遍歷DOM樹

  • .siblings():返回被選元素的所有同胞
  • .next():返回被選元素下一個同胞元素
  • .nextAll():返回被選元素的所有跟隨的同胞元素
  • .nextUntil():返回介于兩個給定參數(shù)之間的所有跟隨的同胞元素
  • .prev():返回被選元素上一個同胞元素
  • .prevAll():返回被選元素的所有之前的同胞元素
  • .prevUntil():返回介于兩個給定參數(shù)之間的所有之前的同胞元素
<!DOCTYPE html>
<html>
<head>
<style>
.siblings *{
display:block;
border:2px solid lightgrey;
color:lightgrey;
padding:5px;
margin:15px;
}
</style>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("h3").siblings().css({"color":"red","border":"2px solid red"});
});
</script>
</head>
<body class="siblings">
<div>div(父)
<p>p</p>
<span>span</span>
<h3>h3</h3>
<h4>h4</h4>
<p>p</p>
</div>
</body>
</html>

運行結(jié)果:

jQuery常見的遍歷DOM操作詳解

jQuery遍歷 過濾

  • first()方法:返回被選元素的首個元素
  • last()方法:返回被選元素的最后一個元素
  • eq()方法:返回被選元素中帶有指定索引號的元素
  • filter()方法:允許自己規(guī)定一個標(biāo)準(zhǔn),不匹配這個標(biāo)準(zhǔn)的元素會被從集合中刪除,匹配的元素會被返回。
  • not()方法:返回不匹配的所有元素
<!DOCTYPE html>
<html>
<head>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("div p").first().css("background-color","yellow");
});
</script>
</head>
<body>
<h2>我心在北朝、</h2>
<div>
<p>田野上</p>
</div>
<div>
<p>紅彤彤的野花</p>
</div>
<p>玲瓏剔透</p>
</body>
</html>

運行結(jié)果:

jQuery常見的遍歷DOM操作詳解

eq()方法的使用

<!DOCTYPE html>
<html>
<head>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("p").eq(1).css("background-color","yellow");
});
</script>
</head>
<body>
<h2>我心在南朝、</h2>
<p>田野上</p>
<p>紅彤彤的野花</p>
<p>玲瓏剔透</p>
<p>我愛你</p>
</body>
</html>

運行結(jié)果:

jQuery常見的遍歷DOM操作詳解

filter()方法的使用

<!DOCTYPE html>
<html>
<head>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("p").filter(".intro").css("background-color","yellow");
});
</script>
</head>
<body>
<h2>我心在南朝、</p>
<p>田野上</p>
<p class="intro">紅彤彤的草莓</p>
<p class="intro">玲玲剔透</p>
<p>我愛你</p>
</body>
</html>

運行結(jié)果:

jQuery常見的遍歷DOM操作詳解

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關(guān)于jQuery相關(guān)內(nèi)容還可查看本站專題:《jQuery操作DOM節(jié)點方法總結(jié)》、《jQuery遍歷算法與技巧總結(jié)》、《jQuery表格(table)操作技巧匯總》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常見經(jīng)典特效匯總》、《jquery選擇器用法總結(jié)》及《jQuery常用插件及用法總結(jié)》

希望本文所述對大家jQuery程序設(shè)計有所幫助。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI