javascript - 选择具有精确类组合的元素
问题描述
我已经在这篇文章中以某种方式问过这个问题,但结果表明我正在寻找错误的解决方案!我的错!
如您所见,我正在寻找一种解决方案,仅显示具有数组值组合的 div。例如,在这个演示中,输出将是 3 个 div,如Has Q
、Has M
和Has Q & M
但我只需要显示Has Q & M
div 中包含所有数组元素组合的 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>
参考 :
推荐阅读
- python - 如何使用 matplotlib 使用自定义绘图功能创建子图的子图
- google-chrome-devtools - 有没有办法强制 Uncaught Cannot tween 空目标提供行号或堆栈跟踪?
- javascript - 如何将json对象转换为日期?
- testing - Python 测试发现因 remote.ssh + conda env 而失败
- excel - 如何返回没有字母的正则表达式匹配
- java - 考虑到夏令时,如何在 mongoDB 中存储用于调度的未来日期
- r - 将不同的函数列表传递给 dplyr 总结
- javascript - 使用在导出函数中定义的函数,来自另一个文件
- react-native - 从本地`node_modules`运行时奇怪的react-native版本号
- java - 如果我在 Spring 中运行 Hibernate 请求,为什么会收到 ClassCastException?