155

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

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

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

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

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

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

谢谢!

4

3 回答 3

240

使用:not()选择器。

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

顺便说一下,这是一个有效的Selectors API选择器,所以它不是特定于 jQuery 的。它可以querySelectorAll()在你的 CSS 中使用(给定浏览器支持

于 2012-10-04T16:14:35.423 回答
42

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

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

或者

$('.funding-plan-container').not('[data-timestamp]') 
于 2012-10-04T16:15:38.267 回答
8

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

$('.funding-plan-container:not([data-timestamp])')
于 2012-10-04T16:15:21.693 回答