The title is pretty clear:
Is there any major difference between innerHTML
and createTextNode
(used with Append
) to fill a span with text?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Of course. createTextNode
will escape any strings and show them as they are, while innerHTML
could render html-like strings into a DOM. If you don't want that (unless you are sure the text contains no unescaped tags, e.g. when assigning a literal directly), you can use textContent
(or innerText
for IE).
Yet I'd recommend createTextNode
, because all browsers support it equally without any quirks.
回答2:
My understanding is that certain manipulations of innerHTML remove all bound events, so using createTextNode is preferable.