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 回答