我需要一个元素来获取特定属性的数组。 例如:
<div id="myDiv" class="myClass" data-country="US" data-city="NY" />
在此示例中,我需要获取所有data-*
属性并将它们放在数组(名称和值对)中。
在此示例中,final数组如下所示:
myDataArray["data-country"] = "US";
myDataArray["data-city"] = "NY";
问题是这些属性是动态的,我不知道运行时会有什么属性,我不能硬编码数组的填充。
答案 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;
答案 2 :(得分:1)
试试这个
var data = $('#myDiv').data();
var myDataArray = [];
$.each(data, function(key, val){
myDataArray['data-' + key] = val;
});
console.log(myDataArray);
的 LIVE DEMO 强> 的