我正在尝试使用.each循环来查找列表中的特定元素,当自定义属性“pid”不等于0时,我可以执行操作。我怎样才能找到每个元素?到目前为止我有:
$.each($('.container ul li'),function() {
var pid = $('.container ul li').attr('pid');
$(this).remove().after($("container ul li[pid='"+pid+"']"));
});
但这里没有做任何事情。有人可以帮忙吗?
基本上我想要做的是将列表中的每个元素和属性“pid”组合在一起,所以我在列表中搜索pid不等于0时,然后我需要再次搜索它,并找到匹配,当每个pid彼此相等时,(注意:只会有一个匹配),并在第一个或原始后附加它。
答案 0 :(得分:2)
如果这是您想要的,那么会发现任何li
pid
0
不是pid
。然后,它将开始按var groups = [];
$('.container ul li[pid][pid!="0"]').each(function(){
var pid = this.getAttribute("pid");
if(groups[pid]){
groups[pid].push(this);
}else{
groups[pid] = [this];
}
}
对项目进行分组。
pid
此代码将生成列表列表。您可以访问groups[pid]
来访问具有给定pid = 5
的所有项目,以便groups[5]
的所有项目都位于{{1}}。