javascript - 在用户单击后使按钮改变颜色

标签 javascript jquery css

如果我没有为每个元素设置 2 个相同的 id,这对我来说并不难解决

我在数据库中有自己的 id 的图像 这是点赞按钮

<a id='$id' class='fas fa-angle-up $voteup' onclick='vote(\"up\",this);'></a>

这是不喜欢的按钮

 <a id='$id' class='fas fa-angle-down $votedown' onclick='vote(\"down\",this);'></a>

在 php 中,我已经使两个按钮 ids = 相同,因为它是图像的唯一 ID,后者在数据库中基于该 ID,它通过此代码发布到数据库

function vote(vote, val) {
    var params = {"vote": vote, "id": val.id};
    $.ajax({
        data:  params,
        url:   'vote.php',
        type:  'post',
        success:  function (response) {
            // code
        }
    });            
}

其他人告诉我对 2 个元素使用相同的 id 是错误的我认为如果有人能给我代码就可以解决 找到 class = angle-up 和 id = 1 将类更改为 checked 的类

我可以让两个 id 不一样,但我需要将该 id 存储在其他地方,然后通过代码获取它,我不知道该怎么做,所以这对我来说更容易

最佳答案

使用 $(this) 定位点击的按钮,不需要 id 甚至类:

$("button").click( function(){ $(this).toggleClass("clicked") })
.clicked{
	background : chartreuse;	
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button>1</button>
<button>2</button>

另外,避免使用内联 onclick=。使用jQuery绑定(bind)点击事件。

关于javascript - 在用户单击后使按钮改变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54009266/

相关文章:

jquery - 为什么人们称 jQuery$ 别名为 'factory' ?

javascript - 使用js代码重定位文本

php - 使用数据表列出 select/selectall 行以通过脚本选择行,那么我如何设置/获取所选行的动态 ID

html - 将第一个 div 放在其他两个下方 - 都具有可变高度

javascript - 为什么在JavaScript中032 * 2 = 52?

javascript - 有没有办法给变量(数字)添加一个原型(prototype),并且原型(prototype)可以改变变量本身?

javascript - 判断字符串中的所有字母是否按字母顺序排列 JavaScript

html - 如何在 SPAN 中垂直居中图像

c# - 如何在 aspx gridview 中同时应用单元格颜色和交替行颜色

javascript - 流体动态 CSS - Javascript/jQuery