jQuery"没有属性"选择器?

H O*_*H O 135 javascript jquery

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

$('.funding-plan-container[data-timestamp]')
Run Code Online (Sandbox Code Playgroud)

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

$('.funding-plan-container[!data-timestamp]')
Run Code Online (Sandbox Code Playgroud)

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

作为参考,这里的用例是没有动态添加任何没有timestamp属性的div,因此很有用.

谢谢!

I H*_*azy 212

使用:not()选择器.

$('.funding-plan-container:not([data-timestamp])')
Run Code Online (Sandbox Code Playgroud)

顺便说一下,这是一个有效的Selectors API选择器,因此它并不特定于jQuery.它将与querySelectorAll()您的CSS一起工作(给定浏览器支持).

  • 写它的其他方式`$('.funding-plan-container').not('[data-timestamp]') (10认同)

Sus*_* -- 35

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

$('.funding-plan-container:not([data-timestamp])').
Run Code Online (Sandbox Code Playgroud)

要么

$('.funding-plan-container').not('[data-timestamp]') 
Run Code Online (Sandbox Code Playgroud)


Pez*_*kow 7

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

$('.funding-plan-container:not([data-timestamp])')
Run Code Online (Sandbox Code Playgroud)