javascript - 选择具有空属性或未指定属性的元素

标签 javascript jquery html css-selectors

采用以下示意性 html 代码:

<div>
  <span id='1' cust-attr='' />
  <span id='2' />
  <span id='3' cust-attr='Foo' />
</div>

现在我正在寻找一个选择器,找到所有没有属性“cust-attr”或“cust-attr”值为空的 span
在这种情况下,这将是 1 和 2。

我尝试了以下选择器,结果如下:

  1. span[cust-attr!=] 选择 2 和 3
  2. span[cust-attr=''] 只选择 1
  3. span:not([cust-attr]) 选择 2
  4. span(:not([cust-attr]),[cust-attr='']) 选择全部三个
  5. span([cust-attr=''],:not([cust-attr])) 选择 1

但是,我没有找到只选择1和2的。
你知道一种可能性吗?

请注意,我要避免:

span:not([cust-attr]),span[cust-attr='']

因为“跨度”实际上是一个更复杂的表达。

最佳答案

晚会...

... 或者您可以使用 CSS Selectors并且比两个 jQuery 答案快 10 倍...:)

document.querySelectorAll("input:not([id]), input[id='']");

Proof

关于javascript - 选择具有空属性或未指定属性的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5524132/

相关文章:

php - 将简单的 HTML 表解析为 php 数组的 Xpath 循环问题

javascript - Titanium Javascript - 代码适用于 iPhone,但不适用于 Android?

javascript - jQuery.post() 具有更改我的 URL 参数的副作用

javascript - 图片库/缩放幻灯片

jquery - 在 jquery 数据表中使用 mRender 和两个数据变量?

javascript - 使用 EasyAutocomplete 的多输入字段 - Rails

javascript - 在 AngularJS 上使用 Dragular 进行移动滚动

javascript - 如何将脚本标签/JS作为文本 append 到文本区域(不可执行)

javascript - Ember.js 中的 Jquery 扩展函数

javascript - 带过滤器的轮播画廊