如果我没有为每个元素设置 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/