Javascript 使用JS/jQuery从HTML标记获取所有属性
我想将Html元素中的所有属性放入一个数组中:就像我有一个jQuery对象,它的Html如下所示:Javascript 使用JS/jQuery从HTML标记获取所有属性,javascript,jquery,Javascript,Jquery,我想将Html元素中的所有属性放入一个数组中:就像我有一个jQuery对象,它的Html如下所示: var elems = document.querySelectorAll('[data-message]') ,attrs = []; for (var i=0; i < elems.length; i+=1) { var attrobj = {nodeName: elems[i].nodeName, nodeIndex: i}; [].slice .c
var elems = document.querySelectorAll('[data-message]')
,attrs = [];
for (var i=0; i < elems.length; i+=1) {
var attrobj = {nodeName: elems[i].nodeName, nodeIndex: i};
[].slice
.call(elems[i].attributes)
.map(function(v){ this[v.name] = v.value; return v; }, attrobj);
attrs.push(attrobj);
}
// first element of attrs (attrs[0]):
// {nodeName: 'SPAN', nodeIndex: 0, name: 'test1', data-message: 'test1' }
现在一种方法是使用这里描述的xml解析器,但是我需要知道如何获取对象的html代码
另一种方法是使用jquery实现,但是如何实现呢?属性的数量和名称是通用的
谢谢
顺便说一句:我无法使用document.getelementbyid或类似的东西访问元素。您可以使用
[element].attributes
从html元素检索属性对象数组。如果要将属性映射到具有名称-值对的对象数组,可以这样做:
假设您有几个跨度:
<span name="test1" data-message="test1">test1</span>
<span name="test2" data-message="test2" class="xzy">test2</span>
<span ...>...</span>
test1
测试2
...
您可以创建名称-值对数组,如下所示:
var elems = document.querySelectorAll('[data-message]')
,attrs = [];
for (var i=0; i < elems.length; i+=1) {
var attrobj = {nodeName: elems[i].nodeName, nodeIndex: i};
[].slice
.call(elems[i].attributes)
.map(function(v){ this[v.name] = v.value; return v; }, attrobj);
attrs.push(attrobj);
}
// first element of attrs (attrs[0]):
// {nodeName: 'SPAN', nodeIndex: 0, name: 'test1', data-message: 'test1' }
var elems=document.querySelectorAll(“[数据消息]”)
,attrs=[];
对于(变量i=0;i
这里有一个
能否显示HTML的其余部分?很可能有某种方法可以选择元素…“这里描述的xml解析器”-何处。。?他指的是复制的问题。。顺便提一下如果你完整地阅读你的复制问题,而不是仅仅复制它,你会看到,提供的答案正是你想要的。。。