1

関数を使用.data()して、jQuery オブジェクトにデータを格納できます。

ドキュメントから:

一致した要素に関連付けられた任意のデータを保存するか、一致した要素のセットの最初の要素の名前付きデータ ストアで値を返します。

例:

 // sets "string" value to "test"
 $(".myClass").data("test", "string");

 $(".myClass").data("test"); // returns "string"

これは簡単です。

"string"に関連付けられた値を持つすべての jQuery 要素をページから取得したいと考えています"test"

これは可能ですか?これを行う機能はありますか?

4

3 に答える 3

3

.filter()を使用して要素をフィルタリングできます

var $filtered = $('<target-elements>').filter(function(){
    return $(this).data('test') == 'test'
})

デモ:フィドル

于 2013-08-20T07:31:55.567 に答える
0

html 要素に属性を.data()実際に追加することはありません。data-考えられる回避策は、要素を反復処理することです。

$('.myClass').each(function(){
    var el = $(this);
    if(el.data("test") === "string") {
        console.log("found !");
    }        
});

ここにフィドルがあります:

http://jsfiddle.net/5p9LX/1/

于 2013-08-20T07:26:10.550 に答える
0

jQuery.grep()を使用してすべての要素をフィルタリングしてみてください

'test' データ キーを持つすべての要素を取得します。

var arrElements = $.grep($("*"), function (a) { return $(a).data("test") != undefined; });
var $filteredElements = $(arrElements);

'test' データ値が 'string' に等しいすべての要素を取得します。

var arrElements = $.grep($("*"), function (a) { return $(a).data("test") == "string"; });
var $filteredElements = $(arrElements);
于 2013-08-20T07:32:04.110 に答える