【问题标题】:jQuery "Does not have attribute" selector?jQuery“没有属性”选择器?
【发布时间】:2012-10-04 16:13:47
【问题描述】:

我可以找到一个具有如下属性的 div:

$('.funding-plan-container[data-timestamp]')

但是如果我试图找到一个没有该属性的 div,我会得到一个错误 - 我的代码是:

$('.funding-plan-container[!data-timestamp]')

jQuery 中是否有“没有属性”选择器?

作为参考,这里的用例是任何没有时间戳属性的 div 都不是动态添加的,因此很有用。

谢谢!

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    使用:not() 选择器。

    $('.funding-plan-container:not([data-timestamp])')
    

    顺便说一下,这是一个有效的Selectors API 选择器,所以它不是特定于jQuery 的。它适用于 querySelectorAll() 和您的 CSS (给定 browser support

    【讨论】:

    • 其他写法`$('.funding-plan-container').not('[data-timestamp]')
    【解决方案2】:

    您可以使用 .not():not() 选择器过滤选择器。

    $('.funding-plan-container:not([data-timestamp])').
    

    $('.funding-plan-container').not('[data-timestamp]') 
    

    【讨论】:

      【解决方案3】:

      尝试使用:not() 伪类选择器:http://api.jquery.com/not-selector/

      $('.funding-plan-container:not([data-timestamp])')
      

      【讨论】:

        猜你喜欢
        • 2014-09-29
        • 1970-01-01
        • 2013-03-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-19
        • 1970-01-01
        • 2011-03-04
        相关资源
        最近更新 更多