html - 无法使用 JQuery 更改 Html 元素之间的文本
问题描述
我有下面的JQuery代码。我在第二个if语句中将按钮元素之间的文本从+更改为x 。现在,当按钮显示x时,我想在第一个if语句中使用将文本更改为+ ,但即使在更改之后按钮仍显示x 。我检查了文本是否已使用console.log()更改为+,它说它已更改为+。但是,为什么结果没有显示它对按钮的影响?$(this).text("+");
let players = [];
let remainingPlayers = 11;
$(".card > button").click(function(e) {
let removePlayer = "";
let index = -1;
if ($(this).text() !== "+") {
removePlayer = $(this).attr("value");
index = players.indexOf(removePlayer);
if (index != -1) {
$(this).text("+");
players.splice(index, 1);
console.log(players);
console.log($(this).text());
}
}
if (remainingPlayers != 0) {
remainingPlayers -= 1;
players.push($(this).attr("value"));
$(this).text("x");
$(this).addClass("btn btn-danger button-select-players");
$("#pl-remain").text(remainingPlayers);
} else {
alert("You can't select more players");
console.log(players);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-lg-6 col-md-12 col-sm-12">
<div class="card" style="width: 15rem;">
<img src="..." class="card-img-top" alt="...">
<button class="btn btn-success button-select-players" type="button" name="button" value="xyz">+</button>
<ul class="list-group list-group-flush">
<li class="first-li list-group-item">Name</li>
<li class="list-group-item">0</li>
</ul>
</div>
</div>
解决方案
推荐阅读
- c++ - 在 32 位环境中调用 ___tls_get_addr 是否危险?
- azure - 将表从 Power BI Premium 导入 Azure Analysis Services 时出错
- r - 在R中循环一组数字生成命令
- java - Java如何访问类的私有静态成员
- android - Alexa 技能开发:如何触发例程
- php - 使用 ImageMagick 将 HTML 转换为 PNG
- r - 在 R 中绘制 data.frame 的变量时出错?
- python - 如何在kivy轮播中显示多个项目?
- javascript - 通过显示在调试器模式下更改的内容,使用 .net api 强制窗口在 reactjs 中创建 Zip 文件以重新加载
- nginx - 除根以外的其他 NGINX 路由