在我的代码中,lis是动态生成的,每个li都有特殊的id。
我想存储每个li
" id"在一个数组
这是js代码
var i=0;
$("ul#portfolio li").each(function(eval){
var idd = new Array();
idd[i]=$(this).attr("id");
i++;
});
但它没有用。
html
<div id="container">
<ul id="portfolio" class="clearfix">
<!-- Dynamically generated li -->
</ul>
</div>
答案 0 :(得分:2)
您需要使用.map()
var idd = $("#portfolio li").map(function(eval){
return this.id;
}).get();
在您的情况下,您的数组是回调的本地数组,因此每次回调的每次迭代都会创建一个新数组而不是将该项添加到现有数组
var idd = new Array();
$("#portfolio li").each(function (eval) {
idd.push(this.id)
});
this.id
$(this).attr('id')
答案 1 :(得分:2)
你也可以尝试这个
$(document).ready(function()
for(var i=0;i<5;i++){
$('#portfolio').append("<li id='"+ i +"'>"+ i +"</li>");
}
var idArray=new Array();
$('#portfolio li').each(function(ind,val){
idArray.push(this.id)
});
console.log(idArray);
});