我正在尝试使用 DOMParser 从 XML 中获取节点。下面的代码在 Chrome 中有效,但在 FF 中无效。难道我做错了什么?或者,FF做错了什么?这里有一个 fiddle :http://jsfiddle.net/lborgman/D8QHT/2/
var zXml = '<?xml version="1.0"?> <div class="csl-bib-body" style="line-height: 2; padding-left: 2em; text-indent:-2em;"> <div class="csl-entry">The Polyvagal Theory.</div> </div>';
var dp = new DOMParser();
var zDom = dp.parseFromString(zXml, "text/xml");
document.getElementById("output").appendChild(document.createTextNode(zDom.nodeValue));
var divCite = zDom.querySelector("div.csl-entry");
console.log(divCite);
document.getElementById("output2").appendChild(document.createTextNode(divCite.innerHTML));
最佳答案
尝试解析为 text/html
:querySelector
不适用于 XML 文档,因为 XML 不理解 CSS 类。
var zDom = dp.parseFromString(zXml, "text/html");
或者,您可以使用 XML 和 querySelector,但要更明确地使用您的选择器参数:
var divCite = zDom.querySelector("div[class=csl-entry]");
至于 nodeValue
,我不确定您希望在 document
对象的那个属性中看到什么。
关于javascript - 使用 DOMParser 解析 XML 在 Chrome 中有效,但在 FF 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22135786/