我正在尝试选择具有data-go-to
非空属性的所有元素。
我已经尝试过,$('[data-go-to!=""]')
但奇怪的是,如果我这样做,它似乎会选择页面上的每个元素。
我正在尝试选择具有data-go-to
非空属性的所有元素。
我已经尝试过,$('[data-go-to!=""]')
但奇怪的是,如果我这样做,它似乎会选择页面上的每个元素。
作为进一步的参考,以及最新的 (may'14) (aug'15) (sep'16) (apr'17) (mar'18) (mar'19) ( may'20 ) ...
答案适用于:
空字符串:
如果必须存在并且可以有任何值(或根本没有)
attr
jQuery("[href]");
缺少属性:
如果可以存在&如果存在,必须有一些价值
attr
jQuery("[href!='']");
或两者:
如果必须存在并且必须具有一定的价值...
attr
jQuery("[href!=''][href]");
PS:更多组合是可能的...
jQuery v1.11.0 ->
jsFiddle online testjQuery v2.1.0 ->
jsFiddle online testjQuery v2.1.3 ->
jsFiddle online testjQuery v3.0.0-alpha1 ->
jsFiddle online testjQuery v3.1.1 Slim ->
jsFiddle online test jQuery v3.2.1 ->
jsFiddle online test jQuery v3.3.1 ->
jsFiddle online test jQuery v3.4.1 ->
jsFiddle online test jsFiddle 中的最新 jQuery 版本于 2020 年 5 月 28 日发布 jQuery Edge ->
jsFiddle online test jQuery edge 版本(慎用) * 代码段正在运行 jQuery v2.1.1
尝试
$(':not([data-go-to=""])')
更新:
为了不让任何人误入歧途,这个答案将适用于旧版本的 jQuery,但不是面向未来的。由于@gmo 和@siva 的答案似乎都适用于更高版本,因此我遵循(并鼓励您投票)他们的答案……当然希望您有美好的一天。
$('[data-go-to!=""]:[data-go-to]').each(function() {
// Do Your Stuff
});
有 'data-attributename' 并且它的值不为空:
$('[data-attributename]:not([data-attributename=""])')
'data-attributename' 是否为空:
$('[data-attributename]')