仅将jQuery操作应用于单击的按钮
仅将jQuery操作应用于单击的按钮,jquery,Jquery,我这样做是为了在点击按钮时让用户知道操作已经完成(蓝色和红色代表购物车图标和加载图标),按钮可以产生类似加载的效果。单击按钮时,该功能将应用于页面上的每个按钮。我必须做什么才能只对按下的按钮执行操作?使用此,它指调用事件的元素 $(".btn-atc").click(function () { $(".btn-atc span").removeClass("blue").addClass("red"); setTimeout(function () { $(".b
我这样做是为了在点击按钮时让用户知道操作已经完成(蓝色和红色代表购物车图标和加载图标),按钮可以产生类似加载的效果。单击按钮时,该功能将应用于页面上的每个按钮。我必须做什么才能只对按下的按钮执行操作?使用
此
,它指调用事件的元素
$(".btn-atc").click(function () {
$(".btn-atc span").removeClass("blue").addClass("red");
setTimeout(function () {
$(".btn-atc span").removeClass("red").addClass("blue");
}, 1500);
});
您也可以使用$(this)。查找('span')
代替$(“span”,this)
尝试使用“this”
您已经做对了,只需使用$在代码中稍作更改即可(如下所示):-
这会触发变为红色,但在超时@ChrisTraverse,Updated answer后不会触发变回蓝色。不幸的是,这似乎不会触发任何操作
$(".btn-atc").click(function () {
$("span", this).removeClass("blue").addClass("red");
var span = $("span", this);
setTimeout(function () {
span.removeClass("red").addClass("blue");
}, 1500);
});
$(".btn-atc").click(function () {
$(this).next('span').removeClass("blue").addClass("red");
setTimeout(function () {
$(this).next('span').removeClass("red").addClass("blue");
}, 1500);
});
$(".btn-atc").click(function () {
var ref=$(this);
$(ref).find("span").removeClass("blue").addClass("red");
setTimeout(function () {
$(ref).find("span").removeClass("red").addClass("blue");
}, 1500);
});