之前写『幻灯片』插件的时候,在滚动要改变幻灯片位置的时候,发现怎么对元素设置style都无效。。六脸懵逼0 0。之前做头像插件的时候也出现过这种问题。。不过那个是偶发的。。。现在还不知道为什么。。于是一直以为是style的设置有误。。后来不可置信的发现是innerHTML的问题。。
在创建每个图片的导航的时候,是生成了导航的节点,然后把父元素的inneHTML+=生成的节点text。于是悲剧就发生了。。
看红宝书上说:『innerHTML的值会被解析成DOM树,替换调用元素原来的所有子节点』所以在调用了innerHTML后,之前幻灯片元素就成了『过期的元素』,怎么设定都不会有效了。。。
这样可以顺便扯扯outerHTML,它和innerHTML不一样的就是它还包括了调用元素本身。然后和innerHTML有一样的特性,调用了之后,之前的元素就会被替换掉。
dom操作无疑是耗费性能的,所以使用要注意。

本文探讨了innerHTML的使用方式及其对DOM性能的影响,解释了为何在某些情况下使用innerHTML会导致元素失效,并提供了优化建议。
262

被折叠的 条评论
为什么被折叠?



