我之前问了这个问题,并解决了这个问题:
AND selector jQuery

但是现在我想知道如何向其添加OR条件。

我有这句话:

$('div.job:not([data-province="'+province+'"][data-employment="'+employment+'"][data-education="'+education+'"][data-branch="'+branch+'"])').fadeOut('slow');


现在,如果例如data-province =“'+ province +'” OR data-province =“”(太空白),我想淡出它们。

吉斯宾:
http://jsbin.com/qomub/14/edit

最佳答案

尝试将filter()multiple selector

$('div.job').filter('[data-province="' + province + '"], [data-province=""]').fadeOut('slow');




根据更新

$(document).ready(function () {
    var $jobs = $('.job');
    var $selects = $("#province, #employment, #education, #branch").on("change", function () {
        var $filtered = $jobs;

        $selects.each(function () {
            if (this.value) {
                $filtered = $filtered.filter('[data-' + this.id + '="' + this.value + '"], [data-' + this.id + '=""]');
            }
        });
        $filtered.show();
        $jobs.not($filtered).hide();
    });
});


演示:Fiddle

关于javascript - 在组合属性选择器中使用OR条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21725516/

10-10 04:07