diff --git a/src/browser/ui/dom/setInnerHTML.js b/src/browser/ui/dom/setInnerHTML.js index d3c3cb788c..d3c8b63e8a 100644 --- a/src/browser/ui/dom/setInnerHTML.js +++ b/src/browser/ui/dom/setInnerHTML.js @@ -47,7 +47,10 @@ if (ExecutionEnvironment.canUseDOM) { // nodes when processing innerHTML, innerHTML on updated nodes suffers // from worse whitespace behavior. Re-adding a node like this triggers // the initial and more favorable whitespace behavior. - node.parentNode.replaceChild(node, node); + // TODO: What to do on a detached node? + if (node.parentNode) { + node.parentNode.replaceChild(node, node); + } if (html.match(/^[ \r\n\t\f]/)) { // Recover leading whitespace by temporarily prepending any character.