私が知っているように、HTML入力はバイトストリームであり、document.write()
新しいバイトを挿入することでストリームを変更できます。例えば
document.write("<p> an example </p>");
また、HTML5仕様の解析モデルdocument.write()
は、HTML入力を変更できることを示しているだけですが、それが唯一の要因であるとは限りません。
HTML入力を変更する他の要因はありますか?
私が知っているように、HTML入力はバイトストリームであり、document.write()
新しいバイトを挿入することでストリームを変更できます。例えば
document.write("<p> an example </p>");
また、HTML5仕様の解析モデルdocument.write()
は、HTML入力を変更できることを示しているだけですが、それが唯一の要因であるとは限りません。
HTML入力を変更する他の要因はありますか?
document.writelnもありますが、それだけです。
彼らが指摘した場所の横にあるツリーモデルを見るdocument.write()
と、スクリプトの実行が実際のツリー作成の外部で処理されていることがわかります。これは、dom を操作するすべてのスクリプトが と同じ場所に配置されることを意味すると私は信じていdocument.write()
ます。
これらには以下が含まれますが、これらに限定されません。
el.innerHTML = '';
el.innerText = '';
el.style = '';
el.insertBefore = '';
el.insertAfter = '';
el.createDocumentFragment;
el.appendChild();
el.removeChild(); //note this is the only supported way of removing from the html bit stream
document.write();
//and anything else that changes either the html, css or even other scripts in the
//document.