javascript - jQuery .click() 事件不起作用。两个中的一个正在工作,另一个没有

标签 javascript html jquery css jquery-click-event

这个问题在这里已经有了答案:





Is there a way to add/remove several classes in one single instruction with classList?

(16 个回答)



addClass - can add multiple classes on same div?

(4 个回答)



How to toggle font awesome icon on click?

(6 个回答)


8 个月前关闭。




$('.like-btn').click((e) => {
  e.target.classList = 'like-unlike-btn unlike-btn far fa-heart';
});

$('.unlike-btn').click((e) => {
  e.target.classList = 'like-unlike-btn like-btn far fa-heart';
});
.like-unlike-btn {
  color: #fb3958;
  font-size: 2rem;
  position: absolute;
  top: 0;
  left: 10px;
  cursor: pointer;
}

.like-unlike-btn:hover {
  color: rgb(252, 11, 11);
}

.unlike-btn {
  font-weight: bold;
}

.like-btn {
  font-weight: normal;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css"
    integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">

<i class="like-unlike-btn like-btn far fa-heart"></i>

为什么我的代码不起作用?
第一个点击事件工作正常,但第二个不工作
请建议一些其他的方法来做到这一点。

最佳答案

您可以将事件附加到主类 like-unlike-btn并使用 toggleClass反而 :

$('.like-unlike-btn').on('click', function(e) {
  $(this).toggleClass('unlike-btn like-btn');
});
.like-unlike-btn {
  color: gray;
  font-size: 2rem;
  position: absolute;
  top: 0;
  left: 10px;
  cursor: pointer;
}

.like-unlike-btn:hover {
  color: red !important;
}

.like-btn {
  color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">

<i class="like-unlike-btn like-btn far fa-heart"></i>

关于javascript - jQuery .click() 事件不起作用。两个中的一个正在工作,另一个没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65369202/

相关文章:

javascript - EventSource 和基本的 http 身份验证

javascript - Dynamics CRM 2011 将数组作为参数传递

javascript - 以最小/最大高度/宽度显示图像,同时在 IE8 中保持纵横比

javascript - 如何在 Kendo UI 模型定义中设置数字的小数位?

javascript - 使用设备 IP 地址查找位置

多个 html 页面的 Javascript 文件

html - Joomla - 添加 html 代码到 protostar 的后端模板管理器

html - div 内联 block 元素在插入另一个元素时中断

javascript - 使用输入选择更改时创建 Html 行(行数取决于所选的选择值)

javascript - 在动态创建单选按钮方面需要帮助