removeChild使用时注意事项


 假如:一段普通的代码:

其中gift_list为一个table的id

var giftBody = document.getElementById("gift_list").getElementsByTagName("tbody")[0];
var giftTrs = giftBody.getElementsByTagName("tr");
for (var i=0;i < giftTrs.length;i++)
{
    giftTrs[i].removeChild(giftTrs[i]);
}

那么这时候只会删除第一行,因为当删除了一个之后,行的位置会向前移动一位。

giftTrs.length也会相应减一。

因此正确的操作方法是:

var giftBody =
document.getElementById("gift_list").getElementsByTagName("tbody")[0];
var giftTrs = giftBody.getElementsByTagName("tr");
var len = giftTrs.length; // 需要将giftTrs.length的length属性存储起来
for (var i=0;i<len;i++)
{
    giftBody.removeChild(giftTrs[0]);
}

你可能感兴趣的:(remove)