问答详情
源自:9-14 删除节点removeChild()

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

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/>");

    }

}


提问者:qq_慕仙7241355 2019-08-25 22:28

个回答

  • 赫塔缪勒_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]);

    }

    }