标题很清楚:
innerHTML
和createTextNode
(与Append
一起使用)与文本填充范围之间是否存在重大差异?
答案 0 :(得分:34)
当然。 createTextNode
将转义任何字符串并按原样显示它们,而innerHTML
可以将类似html的字符串呈现为DOM。如果您不希望这样(除非您确定文本不包含非转义标记,例如直接分配文字时),您可以使用textContent
(或innerText
用于IE)。
但我建议createTextNode
,因为所有浏览器都支持它,没有任何怪癖。
答案 1 :(得分:0)
我的理解是innerHTML的某些操作会删除所有绑定事件,因此最好使用createTextNode。
答案 2 :(得分:0)
在网上做一些研究,这就是我所发现的。这应该从高层次进行介绍:
元素。 createTextNode (文本)和elem。 textContent =文本具有完全相同的作用 (src:https://javascript.info/task/createtextnode-vs-innerhtml)
textContent 返回节点中包含的全文,而 innerText 仅返回节点中包含的可见文本。 (src:Difference between textContent vs innerText)