获得在阿贾克斯()函数成功jQuery的范围内收集项目的手柄在其上发出的呼吁?

我有一个jQuery Ajax调用解雇一个jQuery选择确定的,这样的集合中的每个元素:

$('.myClass').each(function () { $.ajax({ url: 'myUrl', type: "POST", data: { 'myVar': 'myVal' }, success: function(){ // this doesn't work: $(this).removeClass('stateChanged') } }); });

我想删除在$从每个元素的“stateChanged”级('MyClass的')收集一次Ajax调用成功,该元素,但我似乎无法找到一种方式来获得一个句柄在每一个具体的元素在$('MyClass的')采集成功函数中。

有任何想法吗?

--------------解决方案-------------

statechanged因为在相同的元素myClass

$('.myClass').each(function () {
var $self = $(this);
$.ajax({
url: 'myUrl',
type: "POST",
data: { 'myVar': 'myVal' },
success: function(){
$self.removeClass('stateChanged')
}
});
});

$('.myClass').each(function () {
var $self = $(this);
$.ajax({
url: 'myUrl',
type: "POST",
data: { 'myVar': 'myVal' },
success: function(){
$self.children().removeClass('stateChanged');
}
});
});

你问在MyClass类的每个特定的元素,对不对?

你会正确的,但是this里面的回调只回调函数内范围....所以你必须保持这个refrence像这个-一个变量

$('.myClass').each(function () {
var $this = $(this); //save the reference in a variable
$.ajax({
url: 'myUrl',
type: "POST",
data: { 'myVar': 'myVal' },
success: function(){
$this.removeClass('stateChanged') // use variable to remove class
}
});
});

分类:JavaScript的 时间:2015-03-15 人气:0
本文关键词: JavaScript中,jQuery的
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.850 (s). 10 q(s)