问答详情
源自:2-10 jQuery选择器之属性筛选选择器

"查找所有div中,有属性testattr中的值没有包含"true"的div"最后一个div都没有testattr属性,为什么能获取到这个元素?

"查找所有div中,有属性testattr中的值没有包含"true"的div"--------- 前面都能理解,这句话怎么都没理解,还有和这个相关的也没有理解,最后一个div都没有testattr属性,为什么能获取到这个元素??如果有testattr属性没有值,应该能匹配,为什么这个没有的没有匹配????

提问者:qq_喜洋洋_6 2017-06-14 21:00

个回答

  • 慕盖茨9358327
    2018-06-07 13:45:52

    $('div[testattr!="true"]')我<strong>只是试试</strong><em>有没有</em>效果

  • 慕盖茨9358327
    2018-06-07 13:44:46

    $('div[testattr!="true"]')

    我<strong>只是试试</strong><em>有没有</em>效果


  • 零点口加口非
    2017-11-19 20:31:04

    $("[attribute!='value']")选择器:$("[testattr!='true']") 指的不仅是属性值不等于true的div,还包括没有属性值testattr的div

  • 蓝梦悠悠
    2017-08-29 22:27:56

    $("[attribute!='value']")选择器,是选择不存在指定属性,或者指定的属性值不等于给定值的元素。最后一个div没有"testattr"属性,满足第一种情况,所以被匹配。

  • _慕粉_9527
    2017-06-15 13:37:52

            //查找所有div中,有属性testattr中的值没有包含"true"的div

            $('div[testattr!="true"]').css("border", "3px groove #668B8B"); 

    楼主你看,这行代码中 testattr!=true,这里有一个'!='也就是'='取反,这个test中只有最后一个div 没有testattr这个属性,所以只有最后一个div改变了边框颜色,你可以试试去掉'!',就会发现所有div都改变的颜色。