我是JS / XML的初学者。
我有这个简单的代码,需要扩展到屏幕属性列表以及XML文件的每个元素的值。
function printElement(indent, node)
{
var i;
if (node.nodeType == 3)
{
document.write("<br />" +indent + node.nodeValue);
}
else
{ document.write("<br />" +indent + "[" + node.nodeName + "]");
for (i = 0; i < node.childNodes.length; i++)
{
printElement(indent+tab, node.childNodes[i]);
}
document.write("<br />" +indent + "[/" + node.nodeName + "]");
}
}
我认为我应该使用node.attributes,但我不知道具体如何。 我不知道属性的名字。
这也不起作用:
document.write("<br />" +indent + node.attributes[0].nodeValue);
如果(node.nodeType == 3),浏览器会显示“Object required”。 如果(node.nodeType == 2)代码列出了某些内容但没有列出属性。
答案 0 :(得分:3)
试试这个:
for (var i = 0; i < element.attributes.length; i++)
{
var att = element.attributes[i];
document.write(att.nodeName) + "=" + att.nodeValue + "<br/>");
}
答案 1 :(得分:0)
尝试
node.attributes.getNamedItem("id").nodeValue
其中id是属性名称。
或者
node.attributes[0].nodeValue