closest()方法

来源:6-5 jQuery遍历之closest()方法

啊啊啊啊123

2016-09-02 10:22

$("button:last").click(function() {
        var itemB = $('.item-b')
        $('li.item-1')
            .closest(itemB)
            .css('border', '1px solid blue');
    })

$('li.item-1') .parents('.item-b').css('border', '1px solid blue')这是正确的为什么parents(itemB)就不行变成全选了,只有closest才有这种传参方式?

$("button:last").click(function() {
        var itemB = $('.item-b')
        $('li.item-1')
            .parents(itemB)
            .css('border', '1px solid blue');
    })


写回答 关注

3回答

  • 孩纸╭别伤xin、了
    2016-09-06 17:56:18
    已采纳

    parents()是无参数的,但是允许传一个选择器的表达式。itemB是参数,'.item-b'是一个字符串,是一个表达式,是这个方法封装者设置的,被允许的参数。这里说的无参数,应该是指不能传入变量,且只能传入“选择器表达式”,其他的都不行。

  • 码农吊车尾
    2016-10-11 15:57:09
    代码:$('li.item-1') .parents('.item-b').css('border', '1px solid blue');
    意思是:从$('li.item-1')的parents集合中取出class名为item-b的元素(从当前集合筛选)

    再看看选择性接受同一类型选择器表达式的解释:

    parents()方法选择性地接受同一型选择器表达式

    同样的也是因为jQuery是合集对象,可能需要对这个合集对象进行一定的筛选,找出目标元素,所以允许传一个选择器的表达式; 



    啊啊啊啊12... 回复码农吊车尾

    O(∩_∩)O哈哈~

    2016-10-11 16:11:42

    共 2 条回复 >

  • brogii
    2016-09-02 11:31:20

    parents 是全遍历之后挑选相符合的

    closest 是向上层遍历之后 遇到符合的就停止遍历

    码农吊车尾 回复啊啊啊啊12...

    从$('li.item-1')的parents集合中取出class名为item-b的元素(从当前集合筛选)

    2016-10-11 15:57:37

    共 2 条回复 >

jQuery基础(二)—DOM篇

jQuery第二阶段开启DOM修炼,了解创建、插入、删除与替换

114014 学习 · 590 问题

查看课程

相似问题