获得ID是不是在某些情况下
问题描述:
我使用这个脚本找出元素的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"
当我不试图删除它们,不会返回错误,当我提醒获得标识有每一个。
答
试试这个,它正在
$(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>
提供HTML源 - 的jsfiddle /段/ codepen /东西... – Dekel
是这些元素嵌套? – ewcz
那么如果你删除了元素,那么数组变得越来越短,并且你最终循环得比数组的新长度更远。 – JJJ