在使用Mozilla中的DOMParser方法从XML字符串分析的DOM上支持document.getElementById方法? 我正在制作一个mozilla扩展,它读取xmlfile并使用DOM解析器将xml转换为DOM元素,并尝试通过Id获取元素。 getElementsByTagName方法工作,但不是getElementById。它总是返回null。用于XML文档的getElementById,Mozilla扩展
function (xmlString) {
var parser = new DOMParser();
var doc = parser.parseFromString(xmlString, "text/xml");
var aNodes = doc.getElementsByTagName("nodeTag");
for(var i=0; i<aNodes.length; ++i) {
var id = aNodes[i].getAttribute('id');
var resultNode = doc.getElementById(id);
alert(id);
alert(resultNode);
}
}
我试过上面的代码。 alert(id)返回正确的id,其中alert(resultNode)每次都返回null。
谢谢Tim。正是我在找什么。 – Sharad 2010-09-09 04:20:33
是的,但当然会返回名称为“id”的属性,而不是类型为ID的属性。 – 2011-09-08 14:38:59
@迈克尔:确实,但我怀疑这对于OP来说可能足够好。另外,'DOMParser'是否读取DTD? – 2011-09-08 15:32:21