如何找到具有等于特定值的自定义属性的元素?

时间:2011-05-14 08:39:17

标签: jquery loops custom-attributes each

我正在尝试使用.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彼此相等时,(注意:只会有一个匹配),并在第一个或原始后附加它。

1 个答案:

答案 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}}。