HTML DOM.无论如何都要获取属性dict
HTML DOM. anyway to get attributes dict?
node.attributes返回一个NamedNodeMap。。而且它不会像xml中那样给出所有的属性名称或值。
有办法得到这样的东西吗?
node.attributes.keys
node.attributes.values
node.attributes.items
有什么?
现在我用这个做我的遗嘱。。但是js不会给出class、id、href等属性名称,而是给出数字。。
listattr = function(node) {
var attrs = [[],[]];
for (var attr in node.attributes) {
if (node.attributes[attr].nodeValue) {
console.log(attr);
console.log(node.attributes[attr].nodeValue);
attrs[0].push(attr);
attrs[1].push(node.attributes[attr].nodeValue);
}
}
return attrs;
}
但是js不会给出像类这样的属性名称
它是一个类似数组的属性节点列表,其中确实有值和名称!您正在记录索引。
var attrs = node.attributes;
for (var i=0; i<attrs.length; i++)
console.log(attrs[i].name, attrs[i].value);
Bergi的回答基本上说明了一切,但这里有一个完整的函数(使用下划线)可以将html元素的属性转换为dict:
_.reduce(myElement.attributes, function(memo, element){
memo[element.name] = element.value;
return memo;
}, {});
这对我有效:
Array.from(node.attributes).reduce((acc, it) => ({ ...acc, [it.name]: it.value }), {})
相关文章:
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何从选择框中的选项中获取属性值
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- 使用Undercore获取属性值数组
- Microsoft JScript运行时错误:无法获取属性'的值;样式':对象为null或未定义
- "无法获取属性'的值;style'"当试图在IE中更改样式时
- 无法获取属性'字符串'的未定义或null引用IE 11 ASP.NET
- 无法获取属性'的值;拆分'在IE8中调用ajax之后
- JQuery关键字“;这个“;未获取属性值
- SCRIPT5007:无法获取属性'长度'的未定义引用或null引用
- 为什么我得到“;无法获取属性的值'SetReturnValue'"当使用ceebox显示YouT
- 无法获取属性'setActionableButtonState'的未定义引用或null引用
- JavaScript |对象:获取属性忍者移动
- 如何使用 jQuery 在循环中获取属性的值
- 无法获取属性'偏移'的未定义引用或null引用
- 从列表中的选定项获取属性值
- 获取属性(邮政编码)并在Google地图API 3中使用
- IE:无法获取属性'的值;clientWidth':对象为null或未定义
- 如何通过类名和过滤函数获取属性值
- 无法使用javascript表示法获取属性值