标题很清楚:innerHTML
和createTextNode
(与 一起使用Append
)用文本填充跨度之间有什么主要区别吗?
问问题
16689 次
3 回答
40
当然。createTextNode
将转义任何字符串并按原样显示它们,同时innerHTML
可以将类似 html 的字符串呈现到 DOM 中。如果您不希望这样(除非您确定文本不包含未转义的标签,例如直接分配文字时),您可以使用textContent
(或innerText
用于 IE)。
但是我推荐createTextNode
,因为所有浏览器都支持它,没有任何怪癖。
于 2012-10-29T13:50:43.187 回答
2
在网上做一些研究,这是我发现的。这应该在高层次上涵盖它:
元素。createTextNode(文本)和 elem。textContent = text 做同样的事情 (src: https://javascript.info/task/createtextnode-vs-innerhtml )
textContent返回节点中包含的全文,而innerText仅返回节点中包含的可见文本。(src:textContent 与 innerText 之间的区别)
于 2019-05-24T02:32:47.457 回答
0
我的理解是,对 innerHTML 的某些操作会删除所有绑定事件,因此最好使用 createTextNode。
于 2015-05-09T18:44:56.380 回答