我正在尝试使用DOMParser从XML获取节点。以下代码适用于Chrome,但不适用于FF。难道我做错了什么?或者,FF做错了什么?这里有一个小提琴: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));
答案 0 :(得分:4)
尝试解析为text/html
:querySelector
不适用于XML文档,因为XML不理解CSS类。
var zDom = dp.parseFromString(zXml, "text/html");
或者,您可以使用XML和querySelector,但使用您的selector参数更明确:
var divCite = zDom.querySelector("div[class=csl-entry]");
对于nodeValue
,我不确定您希望在document
对象的属性中看到什么。