在我的代码中,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>
最佳答案
您需要使用.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)
});
确保在将目标元素加载到dom后运行脚本(可以使用dom ready处理程序)
使用与
this.id
相同的$(this).attr('id')