JAvascript removeChild使用上の注意事項

839 ワード

もし:一般的なコード:
gift_リストはtableのidです
 
  
var giftBody = document.getElementById("gift_list").getElementsByTagName("tbody")[0];
var giftTrs = giftBody.getElementsByTagName("tr");
for (var i=0;i{
giftTrs[i].removeChild(giftTrs[i]);
}

この場合、最初のローは削除されます.1つ削除すると、ローの位置が1つ前に移動するためです.
giftTrs.lengthもそれに応じて1つ減らします.
したがって、正しい操作方法は次のとおりです.
 
  
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{
giftBody.removeChild(giftTrs[0]);
}