Jquery 如果一个div不同时有两个css类,如何隐藏它?

Jquery 如果一个div不同时有两个css类,如何隐藏它?,jquery,Jquery,页面上大约有20个div标签,其中指示了几个类别(但都有类别“delivery table item”,这是必需的)。如何隐藏同时没有2个必需类的div。我写了一个小剧本,但它同时隐藏了所有的div,我在哪里犯了错误 var deliveryVal = $('#f-select-delivery').val(); var statusVal = $('#f-select-status').val(); var dti = $('.delivery-table-item'); if( dti.no

页面上大约有20个div标签,其中指示了几个类别(但都有类别“delivery table item”,这是必需的)。如何隐藏同时没有2个必需类的div。我写了一个小剧本,但它同时隐藏了所有的div,我在哪里犯了错误

var deliveryVal = $('#f-select-delivery').val();
var statusVal = $('#f-select-status').val();
var dti = $('.delivery-table-item');
if( dti.not('.' + deliveryVal) && dti.not('.' + statusVal) ){
  $('.delivery-table-item').hide();
}

您只需在一行中完成,如下所示

$('.delivery-table-item:not(.deliveryVal) ,.delivery-table-item:not(.statusVal)').hide();
你的解决方案是错误的,因为 如果您选择了您的条件 div没有
deliveryVal

$('.delivery-table-item').not('.deliveryVal')  
$('.delivery-table-item').not('.statusVal') )
而div没有
statusVal
class

$('.delivery-table-item').not('.deliveryVal')  
$('.delivery-table-item').not('.statusVal') )
对他们什么也不做 然后在if主体内使用以下语句隐藏所有div

   $('.delivery-table-item').hide();

因此,在最后,您的解决方案类似于检查是否有div没有
statusVal
类,以及是否有div没有
statusVal
类,然后隐藏所有div

这似乎可以做到:

$('.delivery表项:非(.deliveryVal),.delivery表项:非(.statusVal)).hide()

项目+状态
项目+交付
项目+交付
项目+状态+交付
项目+状态
其他一些类
如果(!$('.delivery table item').hasClass('deliveryVal')&&!$('delivery table item').hasClass('statusVal'))