猿问

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

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

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

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

现在,一种方法是使用描述的xml解析器。这里,但是我需要知道如何获得我的对象的html代码。

另一种方法是使用jQuery实现它,但是如何实现呢?属性的数量和名称都是通用的。

谢谢

顺便说一句:我不能用document.getelementbyid或类似的东西访问元素。


犯罪嫌疑人X
浏览 3221回答 3
3回答

拉丁的传说

如果您只想要DOM属性,那么使用attributes元素本身的节点列表:var&nbsp;el&nbsp;=&nbsp;document.getElementById("someId");for&nbsp;(var&nbsp;i&nbsp;=&nbsp;0,&nbsp;atts&nbsp;=&nbsp;el.attributes,&nbsp;n&nbsp;=&nbsp;atts.length,&nbsp;arr&nbsp;=&nbsp;[];&nbsp;i&nbsp;<&nbsp;n;&nbsp;i++){ &nbsp;&nbsp;&nbsp;&nbsp;arr.push(atts[i].nodeName);}注意,这只会用属性名填充数组。如果需要属性值,可以使用nodeValue财产:var&nbsp;nodes=[],&nbsp;values=[];for&nbsp;(var&nbsp;att,&nbsp;i&nbsp;=&nbsp;0,&nbsp;atts&nbsp;=&nbsp;el.attributes,&nbsp;n&nbsp;=&nbsp;atts.length;&nbsp;i&nbsp;<&nbsp;n;&nbsp;i++){ &nbsp;&nbsp;&nbsp;&nbsp;att&nbsp;=&nbsp;atts[i]; &nbsp;&nbsp;&nbsp;&nbsp;nodes.push(att.nodeName); &nbsp;&nbsp;&nbsp;&nbsp;values.push(att.nodeValue);}
随时随地看视频慕课网APP
我要回答