使用Javascript /或者jQuery从HTML元素中获取所有属性?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (108)

我希望将HTML元素中的所有属性放入数组中:就像我有一个jQuery对象一样,html如下所示:

<span name="test" message="test2"></span>

我需要知道如何获得我的对象的html代码。

如何实现呢?

谢谢

提问于
用户回答回答于

你可以使用这个简单的插件$('#some_id')。getAttributes();

(function($) {
    $.fn.getAttributes = function() {
        var attributes = {}; 

        if( this.length ) {
            $.each( this[0].attributes, function( index, attr ) {
                attributes[ attr.name ] = attr.value;
            } ); 
        }

        return attributes;
    };
})(jQuery);
用户回答回答于

如果你只想要DOM属性,那么使用attributes元素本身的节点列表:

var el = document.getElementById("someId");
for (var i = 0, atts = el.attributes, n = atts.length, arr = []; i < n; i++){
    arr.push(atts[i].nodeName);
}

注意,这只会用属性名填充数组。如果需要属性值,可以使用nodeValueproperty:

var nodes=[], values=[];
for (var att, i = 0, atts = el.attributes, n = atts.length; i < n; i++){
    att = atts[i];
    nodes.push(att.nodeName);
    values.push(att.nodeValue);
}

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动