Javascript中removeChild使用注意事项

日期:2009-04-08    阅读:161   分类:Javascript

假如:一段普通的代码:
其中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]);
}

本页链接: http://www.scriptlover.com/static/520-javascript-removeChild

标签:

相关文章

网友评论

#1: 2009-5-6 11:15:00 by Nianshi

很应该注意的细节问题!

#2: 2011-9-26 19:31:00 by Willteraz#teraz.pl

you've really captured all the essentials in this sbjuect area, haven't you?

#3: 2011-9-29 6:38:00 by Kamrynhakan#hakan.pl

i have been so bweildreed in the past but now it all makes sense!

Leave a comment

 required

 required (Not published)

 required