有没有办法让属性列表设置为元素?
示例:
<div id="myID" title="I am Title" myAttr="I am something else">Hello World!!!</div>
有没有办法获得以上所有属性?
我已经尝试过了,但到目前为止还没有:
$('#myID').attr();
我也尝试了这个:
$('#myID').attr().each(function(a,b){
alert(a);
});
也没有帮助......所以任何建议都会受到赞赏。
感谢。
答案 0 :(得分:3)
答案 1 :(得分:2)
您可以在底层jQuery元素上使用DOM attributes
属性来提取包含所有元素属性的NamedNodeMap
。这可以快速解析为一个可以直接传递给.attr()
的对象。
var attrs = {};
var attrMap = $('#myID')[0].attributes;
$.each(attrMap, function(i,e) { attrs[e.nodeName] = e.nodeValue; });
attrs
现在是:
{id: "myID", title: "I am Title", myattr: "I am something else"}
这是一个显示其工作原理的jsfiddle:http://jsfiddle.net/joemaller/cDYtr/
答案 2 :(得分:0)