据我所知,HTML输入是字节流,document.write()
可以通过插入新字节来更改流。 E.g。
document.write("<p> an example </p>");
同样,HTML5规范的parsing model仅表示document.write()
可以更改HTML输入,但并不是说它是唯一的因素。
是否还有其他因素会改变HTML输入?
答案 0 :(得分:1)
还有document.writeln,但就是这样。
答案 1 :(得分: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.