重新赋值一下 document.body.innerHTML 为什么会导致页面所有按钮无效?

有什么办法可以直接修改innerHTML而不重新渲染吗? 只要执行一下这一句: document.body.innerHTML = document.…
关注者
10
被浏览
15,235

7 个回答

MDN 链接有这句

Setting the value of innerHTML removes all of the element's descendants and replaces them with nodes constructed by parsing the HTML given in the string htmlString

就是会移除元素的所有子元素, 用 parse htmlString 之后得到的节点代替. node 不一样了.

你这句应该是在所有事件绑定之后执行,对文档来说,元素被替换了