102

data-go-to空でない属性を持つすべての要素を選択しようとしています。

試してみまし$('[data-go-to!=""]')たが、奇妙なことに、そうするとページ上のすべての要素が選択されているようです。

4

11 に答える 11

79

試す

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

アップデート:

誰かを迷わせないために、この回答は古いバージョンの jQuery でも機能しますが、将来の保証はありません。@gmoと@sivaの回答はどちらも新しいバージョンで機能しているように見えるので、私は彼らの回答を延期します(そしてあなたに賛成票を投じることをお勧めします)....そしてもちろん、あなたが素晴らしい一日を過ごすことを願っています.

于 2012-05-17T18:20:54.373 に答える
19
$('[data-go-to!=""]:[data-go-to]').each(function() {
    // Do Your Stuff
});​
于 2012-05-17T18:28:59.950 に答える
9

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

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

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

$('[data-attributename]')

JS フィドルの例

于 2014-07-30T18:02:02.927 に答える
5

単純なセレクターについてはわかりませんが、次を使用できますfilter()

$('[data-go-to]').filter(
    function(){
        return ($(this).attr('data-go-to').length > 0);
    });

JS フィドルのデモ

参考文献:

于 2012-05-17T18:18:37.340 に答える
4

ドキュメントによると、 これはそれを行う必要があります

:not([attr="value"])

デモ

お役に立てれば

于 2012-05-17T18:19:56.483 に答える
2
$('[data-go-to]').filter(function() {
    return $(this).data('go-to')!="";
});

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

フィドル

于 2012-05-17T18:24:21.567 に答える
1

これは私のために働く

$('[attributename]').filter('[attributename!=""]')
于 2014-10-08T06:56:51.213 に答える
0

これを試して :

$('[data-go-to:not(:empty)]')
于 2012-05-17T18:19:10.520 に答える
0

これは私のために働く:

$('.data .title td[data-field!=""]')
于 2015-01-14T13:15:24.190 に答える