Javascript JQuery,如何在ajax调用后访问click对象?
这似乎应该是直截了当的,但我很难让它工作 我有一个。点击绑定到某个类的许多按钮。单击该按钮时,它将其id传递给$.post调用进行处理 当$.post调用成功返回时,我想删除该按钮并向容器添加消息,但此时我甚至无法访问该按钮 以下是链接。单击“绑定”:Javascript JQuery,如何在ajax调用后访问click对象?,javascript,jquery,Javascript,Jquery,这似乎应该是直截了当的,但我很难让它工作 我有一个。点击绑定到某个类的许多按钮。单击该按钮时,它将其id传递给$.post调用进行处理 当$.post调用成功返回时,我想删除该按钮并向容器添加消息,但此时我甚至无法访问该按钮 以下是链接。单击“绑定”: $('.button').click(function() { $.post('process.php', { action: 'checkit' }, function(result) {
$('.button').click(function() {
$.post('process.php', {
action: 'checkit'
},
function(result) {
if (result == 'win') {
// Access the button that was pressed with jQuery
}
else {
alert("fail");
}
});
});
我尝试过,$(this)、this,并且在输入初始单击函数时设置了一个变量,如var trigger=this,但这些都不起作用。我没有定义,或者它指向实际的JQuery对象,而不是按钮
有人知道我如何使用jQuery包装器(本质上类似$(triggered button).html()的东西)访问当时单击的按钮,以便操作正确的按钮吗
谢谢你抽出时间
$('.button').click(function() {
var clicked = $(this);
....
使用局部变量进行临时存储
使用局部变量进行临时存储。这很容易做到:
$(this).foo('bar');
这很容易做到:
$(this).foo('bar');
试试这个
$('.button').click(function() {
var $button = $(this);
$.post('process.php', {
action: 'checkit'
},
function(result) {
if (result == 'win') {
$button.doStuff();
}
else {
alert("fail");
}
});
});
试试这个
$('.button').click(function() {
var $button = $(this);
$.post('process.php', {
action: 'checkit'
},
function(result) {
if (result == 'win') {
$button.doStuff();
}
else {
alert("fail");
}
});
});
是
工作?是
工作?您正在尝试的内容。点击文本。只需保留一个局部变量。您正在尝试的内容。点击文本。保留一个局部变量。+1-在回调中,您将使用
clicked.remove()
+1-还将重新命名变量名$clicked
,这样您就知道它是一个jQuery对象。@johndavidjohn:有趣的建议,但让我想起了太多的PHP:D+1-在回调中,您将使用clicked.remove()
+1-还会建议将var名称命名为$clicked
,这样您就知道它是一个jQuery对象。@johndavidjohn:这是一个有趣的建议,但让我想起了太多的PHP:DWow,我发誓我试过了。也许是我搞错了它的打字方式,或者在某处错误地使用了“this”而不是$(this)。我以为我试过了所有的组合,但都失败了。谢谢大家的评论。哇,我发誓我试过了。也许是我搞错了它的打字方式,或者在某处错误地使用了“this”而不是$(this)。我以为我试过了所有的组合,但都失败了。感谢所有发表评论的人。