gpt4 book ai didi

javascript - 单击按钮时无法修改字形图标类

转载 作者:行者123 更新时间:2023-11-30 09:23:48 25 4
gpt4 key购买 nike

我正在尝试使用 this 引用在每次单击按钮时将 glyphicon-plusglyphicon-minus 切换。可以看看here .

$("#button-list button").each(function(index) {
$(this).on("click", function() {
$(this).toggleClass("btn-default btn-success");
$(this + " span").toggleClass("glyphicon-plus glyphicon-minus");
});
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js"></script>

<div id="button-list">
<button type="button" class="btn btn-default btn-sm">
<span class="glyphicon glyphicon-plus"></span>
1
</button>
<button type="button" class="btn btn-default btn-sm">
<span class="glyphicon glyphicon-plus"></span>
2
</button>
<button type="button" class="btn btn-default btn-sm">
<span class="glyphicon glyphicon-plus"></span>
3
</button>
</div>

最佳答案

问题是因为您试图将 this(对引发事件的 Element 对象的引用)连接到一个字符串。这不是一个有效的选择器。

相反,您需要在更改类之前使用 find() 方法检索 this 中的 span

另请注意,您不需要 each() 循环。您可以将 click 事件处理程序应用于元素集合,jQuery 会自动为您处理。

$("#button-list button").on("click", function() {
$(this)
.toggleClass("btn-default btn-success")
.find('span').toggleClass("glyphicon-plus glyphicon-minus");
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js"></script>
<div id="button-list">
<button type="button" class="btn btn-default btn-sm">
<span class="glyphicon glyphicon-plus"></span>
1
</button>
<button type="button" class="btn btn-default btn-sm">
<span class="glyphicon glyphicon-plus"></span>
2
</button>
<button type="button" class="btn btn-default btn-sm">
<span class="glyphicon glyphicon-plus"></span>
3
</button>
</div>

关于javascript - 单击按钮时无法修改字形图标类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50029625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com