2016-09-19 41 views
-1

我使用這個腳本找出元素的ID在一個類,然後努力將其刪除獲得ID是不是在某些情況下

var ids = []; 
var eic = document.getElementsByClassName('classname'); 
for(var i = 0, length = eic.length; i < length; i++) { 
    ids.push(eic[i].id); 
    $('#'+eic[i].id).remove(); 
} 

的問題是,當我試圖刪除它們,它只是刪除一些元素和控制檯的返回錯誤:

"TypeError: eic[i] is undefined"

當我不試圖刪除它們,不會返回錯誤,當我提醒獲得標識有每一個。

+1

提供HTML源 - 的jsfiddle /段/ codepen /東西... – Dekel

+0

是這些元素嵌套? – ewcz

+1

那麼如果你刪除了元素,那麼數組變得越來越短,並且你最終循環得比數組的新長度更遠。 – JJJ

回答

0

試試這個,它正在

$(document).ready(function(){ 
 

 
var ids = []; 
 
    $("button").click(function(){ 
 
     $(".example").each(function(){ 
 
      ids.push(this.id); 
 
      $(this).remove(); 
 
     }); 
 
     $("#resultArray").text(ids); 
 
     }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button>Populate array</button> 
 

 
<div class="example" id="div1">First div element with class="example".</div> 
 

 
<div class="example" id="div2">Second div element with class="example".</div> 
 

 
<div class="example" id="div3">Third div element with class="example".</div> 
 

 
<br> 
 
Array of Ids : <div id="resultArray"><div>

相關問題