Jquery 如果一个div不同时有两个css类,如何隐藏它?
页面上大约有20个div标签,其中指示了几个类别(但都有类别“delivery table item”,这是必需的)。如何隐藏同时没有2个必需类的div。我写了一个小剧本,但它同时隐藏了所有的div,我在哪里犯了错误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
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'))