源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历

  • 时间:2020-05-24 20:12 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
[b]一、jQuery的向下遍历[/b]
<script src="../JS/Extend.js"></script>
 <script src="../JS/my.js"></script>
 <link type="text/css" rel="stylesheet" href="../CSS3/my.css">

</head>
<body>
<div id="div1">
 <div id="div2">
  <p id="p1">
   <a>hello world</a>
  </p>
 </div>
</div>

#div1{
 width:500px;
 height:200px;
 border:3px solid coral;
}

#div2{
 width:400px;
 height:150px;
 margin-top:10px;
 margin-left:10px;
 border: 3px solid coral;
}

#p1{
 margin-left:10px;
 margin-top:10px;
 width:150px;
 height:80px;
 border:3px solid coral;
}

[b]1.children()方法的元素遍历 [/b]
$(document).ready( function (){
 $("#div1").children().css({border:"3px solid black"});
});
可以看到此时div1的儿子div2的边框颜色变成了黑色。 [b]2.find()方法的元素遍历 [/b]
$(document).ready( function (){
 $("#div1").find("a").css({border:"3px solid grey"});
});
可以看到此时div1的重孙子a元素出现了灰色边框。、[b] [/b] .children()与.find()方法的区别是:children只能对元素的儿子元素进行修改,而find则可以对其所有的子元素进行修改。 [b]二、jQuery的向上遍历 [/b]顾名思义,向上遍历就是从子集找到父集。
.parent()
$(document).ready( function (){
 $("#div2").parent().css({border:"3px solid black"});
 });
div2的父元素div1边框发生了改变
.parents()
$(document).ready( function (){
 $("a").parents().css({border:"3px solid grey"});
});
a元素除外,a元素的所有父级元素都发生了改变
.parentUntil()
$(document).ready( function (){
  $("a").parentsUntil("#div1").css({border:"3px solid grey"})
});
从a元素到div1元素之前的元素边框发生了改变。 三个方法的区别是,.parent()只能向上遍历一层;.parents()则可以指定父级元素的id进行跨越遍历;.parentUntil()则具有区间性质,将会遍历包含于区间中的所有元素。 [b]三、遍历 - 同级(兄弟) [/b]同级元素拥有相同的父级元素。 在 DOM 树中水平遍历。 有许多有用的方法让我们在 DOM 树进行水平遍历: [list] [*]siblings()[/*] [*]next()[/*] [*]nextAll()[/*] [*]nextUntil()[/*] [*]prev()[/*] [*]prevAll()[/*] [*]prevUntil()[/*] [/list] [b]1.JQuery siblings()[/b] siblings() 方法返回被选元素的所有同胞元素。
<section>
 <h1>文章的<span>标题</span>啦</h1>
 <p>文章的内容内容内容内容内容内容</p>
 <p>结尾部分</p>
</section>
$(document).ready(function () {
 // 获取h1标签的所有同级元素
 var elem = $('h1').siblings();
 console.log(elem); // p p 
});
[b]2.JQuery next()[/b] next() 方法返回被选元素的下一个同胞元素
<section>
 <h1>文章的<span>标题</span>啦</h1>
 <p>文章的内容内容内容内容内容内容</p>
 <p>结尾部分</p>
</section>
$(document).ready(function () {
 // 获取h1标签的下一个同级元素
 var elem = $('h1').next();
 console.log(elem); // p
});
[b]3.JQuery nextAll()[/b] nextAll() 方法返回被选元素的所有跟随的同胞元素。
<section>
 <h1>文章的<span>标题</span>啦</h1>
 <p>文章的内容内容内容内容内容内容</p>
 <p>结尾部分</p>
</section>

$(document).ready(function () {
 // 获取p标签的后面的所有同级元素
 var elem = $('p').nextAll();
 console.log(elem); // p
});
[b]4.JQuery nextUntil()[/b] nextUntil() 方法返回介于两个给定参数之间的所有跟随的同胞元素。
<section>
 <h1>文章的<span>标题</span>啦</h1>
 <p>文章的内容内容内容内容内容内容</p>
 <p>结尾部分</p>
 <h2>重点注意</h2>
</section>

$(document).ready(function () {
 // 获取
 var elem = $('h1').nextUntil('h2');
 console.log(elem); // p p 
});
[b]5.JQuery prev() & prevAll() & prevUntil()[/b] prev(), prevAll() 以及 prevUntil() 方法的工作方式与上面的方法类似,只不过方向相反而已:它们返回的是前面的同级元素(在 DOM 树中沿着同胞元素向后遍历,而不是向前)。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部