jQuery:使用多个条件过滤元素

时间:2010-04-06 17:44:28

标签: jquery

所以这是基本的想法。我有一个链接列表和一个href值数组,我想过滤链接,以便我的列表只包含具有数组中存在的href值的链接。我可以这样做:

var filtered = unfiltered.filter(function() {
    for (var i = 0; i < ids.length; i++)
        if ($(this).is('a[href$=' + ids[i] + ']')) return true;
});

这是实现我正在寻找的最佳方式吗?

3 个答案:

答案 0 :(得分:0)

我想你想要.filter()。不,等等,你给了一个误导性的头衔...

我最好多想些。

答案 1 :(得分:0)

我通常喜欢用类过滤。

$.each(ids,function(n,i){
  $("a[href=" + i + "]").addClass("filter");
});

如果没有对过滤器列表进行任何更改,这可能会使您无法重新运行上述代码。

答案 2 :(得分:0)

如果你的ID列表被填充一次,那么只需生成匹配查询一次,让jQuery进行动态匹配。

请参阅multiple selector syntax and example

然后你只需:$(expr,“ul#XYZ”),同时将XYZ更改为容器以供适当的用户群使用。