javascriptinnerhtmlcreatetextnode

Is there any major difference between innerHTML and using createTextNode to fill a span?


The title is pretty clear: Is there any major difference between innerHTML and createTextNode (used with Append) to fill a span with text?


Solution

  • 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.