我在一个项目中已经多次看到我在设置元素的innerHtml之前,之前清理过的值,如下所示:
var foo = document.getElementById('foo')
foo.innerHTML = '';
foo.innerHTML = '<span>Bar</span>'
我无法找到任何理由这样做,只是团队中的每个人都遵循这个&#34;练习&#34;。根据我的理解,任何人都可以重新定义innerHtml属性来进行自定义操作,但除此之外,还有其他任何我不知道的吗?
谢谢!
编辑:更新示例代码以避免倾斜(感谢@freefaller)
答案 0 :(得分:13)
听起来这个项目在某些时候看到了一些cargo-cult programming。
不仅没有理由设置元素的.innerHTML属性两次,但它实际上是在不必要地减慢页面的速度。对DOM进行的每次修改都会导致浏览器停止并更新文档树,这意味着每次都会浪费周期.innerHTML被设置为空字符串。