我已经在这个帖子上以某种方式问了这个问题,但是结果是我在寻找错误的解决方案!我的错!
如您所见,我正在寻找一种仅显示具有数组值组合的div的解决方案。在此演示例如输出将是3周的div如Has Q
,Has M
,和Has Q & M
BUT我需要只显示Has Q & M
其具有在div数组元素的所有组合
$('.A.W.B').css("background-color", "red");
let mopt = ['Q','M'];
$('.box').not(
mopt.map(function(className){ return '.'+ className; }).join(', ')
).hide();
.box {
height: 20px;
background: khaki;
width: 100px;
text-align:center;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h4> Should Display Only the Div which Has 'Q' <strong>AND </strong> 'M' together</h4>
<div class="box A B F R W Q">Has Q</div>
<div class="box A B F H K F">No Q</div>
<div class="box A B F W R">No Q</div>
<div class="box A B F H K F">No Q</div>
<div class="box A B F W R M">Has M</div>
<div class="box A B F H K F">No Q</div>
<div class="box A B Q F H M K F">Has Q & M</div>
<p> but it is displaying all boxes which have part of `mopt` array</p>
当用逗号分隔选择器时,它将充当多个选择器,这意味着它们每个都充当选择器。要将它们合并在一起,没有任何空间。
$('.A.W.B').css("background-color", "red");
let mopt = ['Q','M'];
$('.box').not(
mopt.map(function(className){ return '.'+ className; }).join('')
).hide();
.box {
height: 20px;
background: khaki;
width: 100px;
text-align:center;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h4> Should Display Only the Div which Has 'Q' <strong>AND </strong> 'M' together</h4>
<div class="box A B F R W Q">Has Q</div>
<div class="box A B F H K F">No Q</div>
<div class="box A B F W R">No Q</div>
<div class="box A B F H K F">No Q</div>
<div class="box A B F W R M">Has M</div>
<div class="box A B F H K F">No Q</div>
<div class="box A B Q F H M K F">Has Q & M</div>
<p> but it is displaying all boxes which have part of `mopt` array</p>
参考:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句