我之前提出过这个问题并得到了解决: 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 =“”(如此为空)。
答案 0 :(得分:2)
使用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