【问题标题】:select unique items and mark them js选择独特的项目并将它们标记为js
【发布时间】:2020-09-18 18:47:59
【问题描述】:

我有多个按类名相互匹配的图像和数字,每个数字都有对应的图像,所以我有多个对,当我选择一个图像或数字时,两者都需要具有相同的 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 类

但是当我点击任何图像时,他们都得到了这个类并且它的数字匹配不

【问题讨论】:

  • 这是:$(unique).addClas('selected') 应该是:$(unique).addClass('selected') 吗?
  • 请添加没有语法错误的代码,没有人可以帮助您。 addClas 应该是 addClass,你的代码也会在 items.filter() 附近抛出错误,因为过滤器需要一个函数作为第一个参数
  • 是的,它是 Class,对不起我正在学习的过滤器
  • @LuzBritez 对不起。您添加了图像。从图像我无法理解。我需要相关的HTML片段和js......谢谢

标签: javascript html jquery class


【解决方案1】:

寻找独特的元素并不值得。

可以直接使用当前点击的元素类:

$('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>

【讨论】:

  • 我工作,但只有当我选择数字时,当我点击图像时,所有图像都会得到类
  • @LuzBritez 现在没有图像获取课程
  • 每张图片都有对应的编号,由类相关,所以当我点击其中一张时,两者都必须有阴影,当我点击另一张图片或编号时,前一个组合必须停止有css 类并重复我首先解释的内容,仅此而已
  • @LuzBritez 这就是 sn-p 的工作方式。现在我变了,但是……我不明白。请创建一个 sn-p/fiddle......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-13
  • 1970-01-01
  • 1970-01-01
  • 2019-12-02
  • 2012-12-16
相关资源
最近更新 更多