Posted in Javascript onApril 11, 2009
假如:一段普通的代码:
其中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]); }
javascript removeChild 使用注意事项
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@