加入"if(content.childNodes[i].nodeType!=1"为什么就可以一次删除而不会出现i>length而导致中断呢?

来源:9-14 删除节点removeChild()

格劳修斯

2016-03-02 16:01

加入"if(content.childNodes[i].nodeType!=1"为什么就可以一次删除而不会出现i>length而导致中断呢?

写回答 关注

1回答

  • 格劳修斯
    2016-03-02 16:11:45

    我知道了!是不是这样的?这样的设计其实是不合理的,因为实际上是利用了浏览器兼容问题,由于没有删除非元素类型的节点,i<length会一直成立,但这是由于空白节点存在才会出现这种情况,若浏览器不识别空白节点,则也会导致循环中断。

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468870 学习 · 22582 问题

查看课程

相似问题