javascript - 选择独特的项目并将它们标记为js
问题描述
我有多个按类名相互匹配的图像和数字,每个数字都有对应的图像,所以我有多个对,当我选择一个图像或数字时都需要具有相同的 css 类
$('p[class^="pieza"], div[class^="pieza"]').on('click', function(e) {
// remove class to all elements
$('p[class^="pieza"], div[class^="pieza"]').removeClass('shadow');
// add class to all elements having current class....
$('.' + e.target.classList.toString().addClass('shadow');
如果我单击数字,代码工作正常,数字和图像被选中并具有相同的 css 类
解决方案
寻找独特的元素并不值得太多。
您可以直接使用当前点击的元素类:
$('p[class^="pieza"], div[class^="pieza"]').not(':has(img)').on('click', function(e) {
// remove class to all elements
$('p[class^="pieza"], div[class^="pieza"]').not(':has(img)').removeClass('redColor');
// add class to all elements having current class....
$('.' + e.target.classList.toString()).not(':has(img)').addClass('redColor');
})
.redColor {
background-color: red;;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="pieceRow1">
<p class="pieza18" id="pieza18">18</p>
<p class="pieza17" id="pieza17">17</p>
<p class="pieza16" id="pieza16">16</p>
<p class="pieza15" id="pieza15">15</p>
</div>
<div class="fila1 d-flex justify-content-center">
<div class="pieza18 "><img class="img-responsive" src="../../imagenes/caraDentalVacia.png" alt="">
</div>
<div class="pieza17"><img class="img-responsive" src="../../imagenes/caraDentalVacia.png" alt="">
</div>
<div class="pieza16"><img class="img-responsive" src="../../imagenes/caraDentalVacia.png" alt="">
</div>
<div class="pieza17"><img class="img-responsive" src="../../imagenes/caraDentalVacia.png" alt="">
</div>
</div>
推荐阅读
- python - 错误的python统一差异输出
- r - Hoverinfo 文本在闪亮应用程序的绘图图中无法正常工作
- javascript - 调用不带 `.then()` 或 `await` 且不带 TypeScript 的异步函数的 Lint 警告
- css - 如何在 Sharepoint Online/Designer 上编辑“文档库预览器”Web 部件的 CSS?
- wordpress - 在 header.php 加载后加载文本
- python - 如何添加数据框一列的字符串并形成另一列,该列将具有原始列的增量值
- python - mongo db 日期保存为字符串,使用 RoboMongo 或 Python 的 PyMongo 转换为 ISO 日期
- ruby-on-rails - 如何在 Rails 中进行异步调用并在当前视图中显示结果?
- wordpress - 在wordpress上找不到页面
- javascript - Chrome 扩展 - 脉冲/发光扩展徽标