let html = '<body><p id="a"></p><script>document.getElementById("a").innerHTML = "hello"</script></body>'
let doc = document.implementation.createHTMLDocument('')
doc.open()
doc.write(html)
doc.close()
doc.getElementById('a').innerHTML // expecting "hello" but get an empty string instead
document.implementation.createHTMLDocument
で作成されたHTML文書は、JavaScriptを内部で実行していないようです。Documentオブジェクトを作成し、JavaScriptを実行して最終的なHTMLを取得します
を(あなたがメイン文書でそれを追加する必要があります) – Kaiido
ブラウザの互換性を確認してください。 https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createHTMLDocument –