2013-04-17 43 views
0

我有一组与数据属性的项目,它包含的类别的一个阵列:数据属性选择和jQuery

<div class="result" data-categories="category-1, category-2, category-3" data-type="logo" data-preview="images/previews/preview.jpg"> 

我无法选择元件WITHOUT我正在传递的值,从数据类别组。

$(".media-results .result:not([data-categories*=" + val + "])"); 

这似乎是工作正常,但是当我改变使用该选择选择元素,我得到了奇怪的,不希望的结果(选择似乎无限运行和页面保持隐藏和显示元素随机)。

任何人的帮助?


编辑:这里是选择的值传递给函数:

allResults.animate({ 
     opacity: 0 
    }, 500, function(){ 
     console.log("Change triggered. All results hidden."); 
     notSelected.hide(50, function(){ 
      console.log("Unwanted items hidden"); 
      selected.show().animate({ opacity: "1" }, 500); 
     }); 
    }); 
+0

*。* “的类别阵” - >类别列表 - 我怀疑这个问题与上面的代码没有任何关系,但是使用你正在处理select的代码。 –

+0

select仅用于将值传递给我已添加到问题的“filter”函数。我没有问题从select中传递值,我有问题使用该值来选择正确的元素。 – user2291466

回答

1

您可以使用filter()

elements = $(".media-results .result").filter(function(){ 
    return $(this).data("categories").indexOf(val) == -1 
});