jQuery获取所有HTML属性

时间:2010-01-10 23:07:43

标签: jquery html

有没有办法让属性列表设置为元素?

示例:

<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);
});

也没有帮助......所以任何建议都会受到赞赏。

感谢。

3 个答案:

答案 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)