我正在寻找一种方法来使用jquery来获取元素的自定义属性.
<span id='element' data-type='foo' data-sort='bar'></span>
Run Code Online (Sandbox Code Playgroud)
我想得到:["data-type", "data-sort"]作为一个阵列.
有人知道怎么做吗?
谢谢.
Nic*_*ver 20
您可以使用.attributesDOM属性并循环,如下所示:
var arr = document.getElementById('element').attributes, attributes = [];
//or if you're inside a jQuery loop, just use this.attributes
//e.g.: var arr = $("span").get(0).attributes, attributes = [];
for(var i = 0; i < arr.length; i++) {
if(arr[i].name.indexOf("data-") == 0) //only ones starting with data-
attributes.push(arr[i].name);
}
alert(attributes); ?//use it for something, result is ["data-type", "data-sort"]
Run Code Online (Sandbox Code Playgroud)
你可以在这里看到一个有用的演示,除了抓取元素之外,这根本不是jQuery特有的,所以如果需要你可以轻松地将它完全删除.