很抱歉,作为一个
JavaScript的noob,但任何人都可以解释为什么建议不要使用.innerHTML.当我们有更快更容易的形式的.innerHTML的东西,为什么我们不应该使用它?
解决方法
innerHTML是大锤.它将鼓除所选DOM元素的内容,并将其替换为当时分配的任何内容.这导致了许多HTML转义和验证问题.
更重要的是,对于大量事件绑定的页面,使用innerHTML附加另一个元素将重新生成DOM元素,这意味着事件绑定可能会丢失.
当元素从DOM中删除时,还有一些问题涉及到旧版本的IE中的内存泄漏.
所有这一切都说,我不告诉你你不应该使用innerHTML.当我使用$(selector).html()时,我一直在jQuery中使用它.有时,大锤是工作的正确工具,当事件被正确委派时,重新加载内容多少也不重要.