jQuery:空でないデータ属性を選択しますか?


回答:


76

試す

$(':not([data-go-to=""])')

更新:

だれをも迷わせないために、この回答は古いバージョンのjQueryで機能しますが、将来性はありません。@gmoと@sivaの回答はどちらも新しいバージョンで動作しているようですので、回答を延期します(そして、賛成することをお勧めします)。


おかげで、これはうまくいきました!画像要素のみを選択したかったので、$( ':not(img [data-go-to == ""]')を追加しました
msanjay

2
'data-to-go'属性が空白でないすべての要素は選択されませんか?質問者がその属性を持つ空白ではないすべての要素を必要とするときは?(Siva Charanの答えが解決するように)
rodnaph 2013

本当にどちらか...のように任意の二重引用符は必要ありません$('element:not([attribute=])'); // gets all of <element attribute="">$(':not([attribute=])'); // gets all of <* attribute="">
アンソニーHatzopoulos

2
これは、私が探しているデータ属性を持つものを含む、すべての要素を取得します
Devil's Advocate

Safariでは$('[data-go-to!=""]:[data-go-to]')動作しないようですが、動作します。
Dan

183

同様に、さらに最新の (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:より多くの組み合わせが可能です...


例については、jsFiddleでこのテストを確認してください。


または、このコードスニペットを使用してSOでここに。

*スニペットはjQuery v2.1.1を実行しています


6
これだよ。ここでこのユーザーに賛成投票してください。他の古い答えは私のために働いていません。3番目の例を使用しました。
Valamas 14年

@ Valamas-AUS出向
アダムウェイト

編集:SOコードスニペットを追加したので、ここでテストできます。
gmo

これは動作しているものです。$(':not([data-go-to=""])')はもう機能していません
Matthieu Charbonnier 2015年

1
回答を最新の状態に維持していただきありがとうございます
アンソニーC

19
$('[data-go-to!=""]:[data-go-to]').each(function() {
    // Do Your Stuff
});​

6
これは空の文字列と欠落している属性に対して完璧に機能します
adamJLev

4
May'14の時点では機能せず、Unrecognized Expressionエラーが発生します。
coding_idiot

7

'data-attributename'があり、その値は空ではありません:

$('[data-attributename]:not([data-attributename=""])')

'data-attributename'が空かどうか:

$('[data-attributename]')

JS Fiddleの例


1
これは、2015
。– AlexioVay




2
$('[data-go-to]').filter(function() {
    return $(this).data('go-to')!="";
});

使用して:not.not():empty要素自体が空の場合などのみではなく、データの属性をチェックします。そのためには、データ属性値に基づいてフィルタリングする必要があります。

FIDDLE




弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.