我有一个div。在该 div 内我有多个元素。有些元素具有“myClass”类。我也有一个按钮。单击时,foreach 循环会针对 div 中具有类 myClass 的每个元素运行。为每个元素发送一个ajaxCall。这些元素的文本颜色默认为黑色。如果 ajax 调用成功。我想删除 classBlackFont 类并添加一个 classGreenFont 。我尝试了以下代码,不幸的是,即使 ajax 调用成功,也没有切换类。
$("#someDiv .myClass").each(function() {
var ajaxData = "myAjaxData";
$.ajax({
type: "POST",
url: "somefile.php",
data: ajaxData,
success: function(data) {
$(this).removeClass('classBlackFont').addClass('classGreenFont');
}
});
});
this
不会自动引用 ajax 回调中的正确对象。您可以通过关闭一个变量来更改它does具有正确的值:
$("#someDiv .myClass").each(function() {
var $this = $(this);
var ajaxData = "myAjaxData";
$.ajax({
type: "POST",
url: "somefile.php",
data: ajaxData,
success: function(data) {
$this.removeClass('classBlackFont').addClass('classGreenFont');
}
});
});
或通过使用context的选项$.ajax() http://api.jquery.com/jQuery.ajax/:
$("#someDiv .myClass").each(function() {
var ajaxData = "myAjaxData";
$.ajax({
type: "POST",
url: "somefile.php",
data: ajaxData,
context: this,
success: function(data) {
$(this).removeClass('classBlackFont').addClass('classGreenFont');
}
});
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)