jQuery-过滤与查找

jQuery-过滤与查找

1、遍历查找祖先的方法(向上遍历DOM树)

需要了解的是,祖先指的是父、祖父、曾祖父等等

1、查找直接父元素的方法:parent()
<body>
    <div class="box1">
        <h3>这是一个h3标签</h3>
        <p>这是一个p标签</p>
        <p>这是第二个p标签</p>
        <div class="inBox1">
            <p >这是inbox1里面的p标签</p>
        </div>
    </div>
    <div class="box2">
        <h3>这是box2里面的h3标签</h3>
        <p class='p2'>这是box2里面的p标签</p>
        <p>这是box2里面的第二个p标签</p>
    </div>
    <div class="box3">
        <h3>这是box3里面的h3标签</h3>
        <p class='p2'>这是box3里面的p标签</p>
        <p>这是box3里面的第二个p标签</p>
    </div>
</body>
$(document).ready(function() {
    var inBox1= $('.inBox1 p');
    console.log(inBox1);
    //查找inbox1的直接父元素
    var parent = inBox1.parent();
    console.log(parent);
})

最终打印的出来的是p标签的直接父元素inbox1。

2、查找所有父元素的方法:parents()
$(document).ready(function() {
    var inBox1= $('.inBox1 p');
    console.log(inBox1);
    //查找inbox1的所有父元素
    var parent = inBox1.parents();
    console.log(parent);
})

需要注意的是,这李查询出来的是所有祖先元素,包括inBox1,box1,body,html。但这个基本上不常用。

2、遍历查找子孙的方法(向下查找DOM树)

1、查找直接子元素的方法:children()
$(document).ready(function() {
    var child = $('.box1').children();
    console.log(child);
})

还是上面的例子,查找box1的子元素。最终查找出来box1下面的四个子元素。
在这里插入图片描述

2、查找所有子元素的方法:find()
$(document).ready(function() {
    var child = $('.box1').find('p');
    console.log(child);
})

这里查找出来的是box1下面的所有p标签,包括在inBox1里面的p标签
在这里插入图片描述

3、遍历查找同胞的方法(在DOM树中水平遍历)

1、next() 方法(往下匹配)
$(document).ready(function() {
    var next = $('.box1').next();
    console.log(next);
})

查找到的是就是与box1相邻的box2标签

2、siblings() 方法(往下匹配)
$(document).ready(function() {
    var siblings = $('.box1').siblings();
    console.log(siblings);
})

查到到的是box1所有的同胞元素

3、prev()、prevAll() & prevUntil() 方法(往上匹配)

与next方法相同,只是这几个方法都是往上匹配的

4、过滤的方法

1、first()方法
$(document).ready(function() {
    var first = $('.box1 p').first();
    console.log(first);
})

这里查到的是box1下面的第一个p标签

2、last()方法
$(document).ready(function() {
    var last = $('.box1 p').last();
    console.log(last);
})

这里查到的是box1下面的最后一个p标签

3、eq()方法(重点掌握)

eq() 方法返回被选元素中带有指定索引号的元素。索引号从 0 开始,因此首个元素的索引号是 0 而不是 1

$(document).ready(function() {
    var last = $('.box1 p').eq(2);
    console.log(last);
})

这里查找到的是box1下面 第三个p标签

4、filter() 方法

filter() 方法允许您规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回。

$(document).ready(function() {
    var p2 = $('p').filter('.p2');
    console.log(p2);
})

这里查到的是p标签中,class属性是p2的所有p标签

5、not()方法

与filter()方法刚好相反

(document).ready(function() {
var p2 = $(‘p’).filter(’.p2’);
console.log(p2);
})


这里查到的是p标签中,class属性是p2的所有p标签

#### 5、not()方法

与filter()方法刚好相反

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值