javascript 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]);

  }