jQuery - 元素遍历

前言: 

      一提到“遍历”,大家一般都能联想到  each()  或者  for()等语法,但是在jQuery中究竟什么是遍历? 

什么是遍历:

       jQuery 遍历,意为"移动",用于根据其相对于其他元素的关系来"查找"(或选取)HTML 元素。以某项选择开始,并沿着这个选择移动,直到抵达您期望的元素为止。

       下图展示了一个家族树。通过 jQuery 遍历,能够从被选(当前的)元素开始,轻松地在家族树中向上移动(祖先),向下移动(子孙),水平移动(同胞)。这种称为对DOM进行遍历

 JQuery的遍历方法最大的种类就是树的遍历

jQuery遍历-- 祖先 

    通过jQuery能够向上遍历DOM树,查找元素的祖先

1.parent()

       parent()方法返回被选元素的直接父元素,该方法只会向上一级对DOM树进行遍历

   例子: 返回每个<span>元素的直接父元素

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

2.parents()

      parents() 方法返回被选元素的所有祖先元素,它一路向上直到文档的根元素(<html>)

例子: 返回所有<span> 元素的所有祖先

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

也可以在parents()中 通过 参数来过滤对祖先元素的搜索

下面的例子:  返回所有的<span> 元素的所有祖先,并且他是<ul> 元素 

$(document).ready(function(){
    $("span").parents("ul");
})

3.parentsUntil() 

  方法返回介于两个给定元素之间的所有祖先元素 

 例子: 返回介于 <span> 和 <div>元素之间的所有祖先元素

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

结果:

jQuery遍历--后代:

后代是子 ,孙,曾孙 等

通过jQuery,我们可以向下遍历DOM树,以查找元素的后代

1.children()

方法返回被选元素的所有直接子元素,只会对最近的下一级Dom树进行遍历

例子:返回每个<div>元素的所有直接子元素:

$(document).ready(function(){
    $("div").children();

})

也可以使用参数来过滤子元素

例子: 返回所有类名为"1" 的所有<p>元素,并且他们是<div>的直接子元素

$(document).ready(function(){
  $("div").children("p.1");
});

2.find() 

 返回被选元素的后代元素,一路向下直到最后一代

 例子: 返回属于<div> 后代的所有<span>标签 

 

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

 

 

jQuery遍历--兄弟

兄弟之间拥有相同的父元素,通过jQuery能够在DOM树中遍历元素的同胞元素 

在DOM树中水平遍历

1.siblings() 方法 返回被选元素的所有同胞元素

实例: 返回<h2>的所有兄弟元素

$(documen).ready(function(){
    $("h2").siblings();
})

1.1可以使用参数来过滤对兄弟元素的选择

例子: 返回属于<h2>同胞元素的所有<p>元素

$(document).ready(function(){
    $("h2").siblings("p");
});

 

2. next()方法,

该方法返回被选元素的下一个同胞元素,该方法只返回一个元素

例子: 下面的例子返回 <h2>的下一个兄弟元素

$(document).ready(function(){
    $("h2").next();
})

3.nextAll()方法  返回被选元素的所有跟随的兄弟元素

例子: 返回<h2>的所有跟随的兄弟元素

$(document).ready(function(){
    $("h2").nextAll();
})

4.nextUntil() 方法 返回介于两个给定参数之间的所有跟随的兄弟元素

例子:返回介于<h2>与<h6>元素之间的所有兄弟元素

$(document).ready(function(){
    $("h2").nextUntil("h6");
})

5.prev() 方法返回前面的兄弟元素,和next()方法的使用一样

 

 

 

 

 

 

 

 

 

 

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值