循环内的长度 和在 外面的长度不一样 为啥?? 求大神指教0.0

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

qq_慕仙7241355

2019-08-25 22:28

function clearText() {

     var a = document.getElementById("content");

     var x = a.childNodes;

     var xlen = x.length;

     document.write(xlen+"<br/>");

     document.write("===============================================");


     for (var i = 0; i < x.length; i++) {

        a.removeChild(x[0]);

        document.write(x.length+"<br/>");

    }

}


写回答 关注

2回答

  • 赫塔缪勒_FreshFish
    2019-08-27 18:25:17
    已采纳

    删除x[0]的时候,循环条件中的x.length也在变

  • 我信你个鬼
    2019-09-02 11:33:41

    function clearText() {

      var content = document.getElementById("content");

    // 1. 删除该节点的内容,先要获取子节点。

    var child = content.childNodes;

    // 2. 然后使用循环遍历每个子节点。

    for (var i = child.length - 1; i >= 0; i--) {

    // 3. 使用removeChild()删除节点。

    content.removeChild(child[i]);

    }

    }


JavaScript进阶篇

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

468196 学习 · 21891 问题

查看课程

相似问题