javascript - 如何删除单击控件上的特定类?

标签 javascript jquery html css

我试图删除点击控件上的特定类,特别是我有这个 html 结构:

<div id="resource">
   <div class="selected"></div>
   <div class="selected"></div>
</div>

这是我的代码:

$(document).on('click', '.selected', function() {
if ($(this).hasClass('selected')) {
  $(this).removeClass('selected'); //remove the specific class
} else
{
  $('#resource .selected').removeClass('selected'); //remove class of all control
$(this).addClass('selected'); //add class to the clicked control
}
});

这是 css 类:

.selected {
 background-color: red;
}

您如何查看我是否单击了一个 div,该类是否已正确添加,但是如果我已经设置了一个带有 .selected 类的 div,然后单击没有此类的 div,则代码不会' 删除其他 div 的类。为什么??

这是 jsfiddle .

最佳答案

您的点击事件仅适用于 .selected 类。您应该使用 #resource div click 而不是 .selected。尝试如下。

$(document).on('click', '#resource div', function() {
   if ($(this).hasClass('selected')) {
       $(this).removeClass('selected');
   } else
   {
      $('#resource .selected').removeClass('selected'); 
      $(this).addClass('selected');
   }
});

UPDATED FIDDLE

关于javascript - 如何删除单击控件上的特定类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34683595/

相关文章:

javascript - jQuery 使用 live() 或 on() 高亮显示匹配的元素

javascript - 当另一个文本框发生更改时,使用 JavaScript 函数更新一个文本框

javascript - 在外部 .js 文件中使用 .vue 组件时如何使用相同的变量?

javascript - 以模态打开pdf文件可能吗?

javascript - 尝试在 SVG 路径上为飞机制作动画

javascript - 将 <select> 下拉菜单变成更高级的 JQuery 插件是什么?

html - 如何使绝对定位的图像与下面的相同图像大小相同(以 % 表示,响应)

javascript - 如何在 JSP 中访问 &lt;script&gt; 中的用户定义对象数组?

javascript - Canvas 宽度和高度计算已关闭

jquery - 将我重定向到 jQuery .ajax() 错误 : 上的默认错误页面