1

据我所知,HTML 输入是字节流,document.write()可以通过插入新字节来更改流。例如

document.write("<p> an example </p>");

另外 HTML5 规范的解析模型只表示document.write()可以改变 HTML 输入,但并没有说这是唯一的因素。

是否有任何其他因素会改变 HTML 输入?

4

2 回答 2

1

还有document.writeln,但仅此而已。

于 2012-12-12T00:57:38.560 回答
0

如果您在他们指出的位置旁边查看他们的树模型,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.
于 2012-12-11T23:52:01.853 回答