0

我有一组具有数据属性的项目,其中包含一组类别:

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

我无法从数据类别组中选择没有我传入的值的元素。

$(".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);
        });
    });
4

1 回答 1

1

您可以使用filter()

elements = $(".media-results .result").filter(function(){
    return $(this).data("categories").indexOf(val) == -1
});
于 2013-04-17T15:47:45.400 回答