单个类元素 jQuery 的活动类

问题描述 投票:0回答:1

我有这些按钮,它们实际上是网格中的 p 元素,它们都具有相同的类。我想更改用户单击的 p 元素的颜色。如何在 jQuery 中添加一个活动类,并以仅选择该类中的一个元素的方式执行此操作?顺便说一句,我的 html 中有各种“网格”,全部以相同的方式配置...(因此类网格:-D)

谢谢!

image of buttons

jquery 变量

 const $size = $(".size");

 <div id="red-details" class="extra-details">
          <p>
            The ultimate in style and comfort, the Red Flyer's are great for
            walking and casual wearing.
          </p>

          <h3>Size</h3>
          <div class="grid">
            <p class="size">7</p>
            <p class="size">8</p>
            <p class="size">9</p>
            <p class="size">10</p>
            <p class="size">11</p>
          </div>
          <button class="add-to-cart">Add To Cart</button>
        </div>

jquery class jquery-selectors this
1个回答
0
投票

一种方法是拥有指定的 CSS。可以处理从具有 CSS 的元素中删除样式,然后将 CSS 设置为单击的元素,这样只有 1 个元素具有应用的样式。

尝试下面的可运行示例。在示例中,我使用 CSS 来实现

.clicked
样式,但您可以根据需要重命名它。

$(document).ready(function() {
    $('p').on('click', function(e) {
      // Any <p> that has the clicked CSS, remove it:
      $('p.clicked').removeClass('clicked');
      
      // Then apply the CSS to the clicked element
      $(this).addClass('clicked');
    })
});
.clicked {
     background-color: yellow;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id="red-details" class="extra-details">
      <p>
        The ultimate in style and comfort, the Red Flyer's are great for
        walking and casual wearing.
      </p>

      <h3>Size</h3>
      <div class="grid">
          <p class="size">7</p>
          <p class="size">8</p>
          <p class="size">9</p>
          <p class="size">10</p>
          <p class="size">11</p>
      </div>
  <button class="add-to-cart">Add To Cart</button>
</div>

© www.soinside.com 2019 - 2024. All rights reserved.