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]);
}
posted on 2009-05-06 11:18  念时  阅读(274)  评论(0编辑  收藏  举报

细节决定成败!态度决定一切!