jQuery获得多个属性

时间:2013-02-03 13:23:24

标签: javascript jquery

我需要一个元素来获取特定属性的数组。 例如:

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

在此示例中,我需要获取所有data-*属性并将它们放在数组(名称和值对)中。

在此示例中,final数组如下所示:

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

问题是这些属性是动态的,我不知道运行时会有什么属性,我不能硬编码数组的填充。

3 个答案:

答案 0 :(得分:5)

您可以致电data()获取所有数据属性。

<强> Live Demo

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

您可以像这样迭代键值对,

<强> Live Demo

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

for(el in arr)
{
    alert("Key >> " + el);
    alert("Value >> " + arr[el]);
}

答案 1 :(得分:4)

var myDataObject = document.getElementById('myDiv').dataset;

http://jsfiddle.net/qQWBB/

答案 2 :(得分:1)

试试这个

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

LIVE DEMO