3

特定の属性の配列を取得するために必要な要素があります。例えば:

<div id="myDiv" class="myClass" data-country="US" data-city="NY" />

この例では、すべてのdata-*属性を取得して配列 (名前と値のペア) に配置する必要があります。

この例では、最終的な配列は次のようになります。

myDataArray["data-country"] = "US";
myDataArray["data-city"] = "NY";

問題は、これらの属性が動的であることです。実行時にどの属性が存在するかがわからず、配列の塗りつぶしをハードコーディングできません。

4

3 に答える 3

5

data()を呼び出して、すべてのデータ属性を取得できます。

ライブデモ

myDataArray = $('#myDiv').data();
alert(myDataArray["country"]);
alert(myDataArray["city"]);

このようにキーと値のペアを反復処理できます。

ライブデモ

arr = $('#myDiv').data();

for(el in arr)
{
    alert("Key >> " + el);
    alert("Value >> " + arr[el]);
}
于 2013-02-03T13:25:27.927 に答える
5
var myDataObject = document.getElementById('myDiv').dataset;

http://jsfiddle.net/qQWBB/

于 2013-02-03T13:27:25.400 に答える
1

これを試して

var data = $('#myDiv').data();
var myDataArray = [];
$.each(data, function(key, val){
        myDataArray['data-' + key] = val;
});
console.log(myDataArray);

ライブデモ

于 2013-02-03T14:12:50.040 に答える