是否可以将childNodes.nodeValue和innerHTML一起使用?

时间:2012-02-06 09:35:54

标签: javascript innerhtml

我有一个getElementByTagname的js脚本。然后,我检查它childNodes值。如果我使用这行代码:

var appname= name[i].childNodes[x].nodeValue;

如果nodeValue是Pang Shinichi(远离家乡)。上面脚本的回归变成了庞新一()。 HTML标记未被读取,而是被视为NULL。所以,我在考虑是否可以一次使用childNodes.nodeValue和innerHTML。

对此有什么想法吗?

1 个答案:

答案 0 :(得分:2)

这是因为您的文本分布在多个节点上。要获得快速解决方案,请在父节点上使用textContentinnerText

var t = "textContent" in document.body ? "textContent" : "innerText",
    appname = name[i][t];

Internet Explorer 8及更低版本将使用innerText,而大多数其他浏览器将使用textContent。当涉及到空白时,两者的行为之间存在细微差别,但对于大多数用例,结果是相同的。

工作演示:http://jsfiddle.net/7Qsjm/