35

标题很清楚:innerHTMLcreateTextNode(与 一起使用Append)用文本填充跨度之间有什么主要区别吗?

4

3 回答 3

40

当然。createTextNode将转义任何字符串并按原样显示它们,同时innerHTML可以将类似 html 的字符串呈现到 DOM 中。如果您不希望这样(除非您确定文本不包含未转义的标签,例如直接分配文字时),您可以使用textContent(或innerText用于 IE)。

但是我推荐createTextNode,因为所有浏览器都支持它,没有任何怪癖。

于 2012-10-29T13:50:43.187 回答
2

在网上做一些研究,这是我发现的。这应该在高层次上涵盖它:

于 2019-05-24T02:32:47.457 回答
0

我的理解是,对 innerHTML 的某些操作会删除所有绑定事件,因此最好使用 createTextNode。

于 2015-05-09T18:44:56.380 回答