使用 Javascript/jQuery 从 HTML 元素中获取所有属性
我想将 Html 元素中的所有属性放入一个数组中:就像我有一个 jQuery 对象,它的 html 看起来像这样:
I want to put all attributes in a Html element into an array: like i have a jQuery Object, whichs html looks like this:
<span name="test" message="test2"></span>
现在一种方法是使用描述的 xml 解析器 here,但是我需要知道如何获取我的对象的 html 代码.
now one way is to use the xml parser described here, but then i need to know how to get the html code of my object.
另一种方法是用 jquery 来实现,但是怎么做呢?属性的数量和名称是通用的.
the other way is to make it with jquery, but how? the number of attributes and the names are generic.
谢谢
顺便说一句:我无法使用 document.getelementbyid 或类似的东西访问元素.
Btw: I can't access the element with document.getelementbyid or something similar.
推荐答案
如果你只想要 DOM 属性,在元素本身上使用 attributes
节点列表可能更简单:
If you just want the DOM attributes, it's probably simpler to use the attributes
node list on the element itself:
var el = document.getElementById("someId");
for (var i = 0, atts = el.attributes, n = atts.length, arr = []; i < n; i++){
arr.push(atts[i].nodeName);
}
请注意,这只会用属性名称填充数组.如果需要属性值,可以使用 nodeValue
属性:
Note that this fills the array only with attribute names. If you need the attribute value, you can use the nodeValue
property:
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);
}
相关文章