JQuery未找到类
我有以下结构,其中有几行,如:JQuery未找到类,jquery,Jquery,我有以下结构,其中有几行,如: <tr class="tableRow"> <td>blah</td> <td>blah</td> <td><button id="13" class="deleteMailshot" type="button"></button></td> </tr> 我也试过: $(this).parent().parent('.t
<tr class="tableRow">
<td>blah</td>
<td>blah</td>
<td><button id="13" class="deleteMailshot" type="button"></button></td>
</tr>
我也试过:
$(this).parent().parent('.tableRow').fadeOut();
试试这个
var self = $(this);
$.ajax({
....
success: function(data) {
self.closest('.tableRow').fadeOut(); // use self
将其分配给
AJAX
之前的变量。这是指success
上的匿名函数中的其他内容
例如
然后使用:
$button.closest...
您可以使用ajax调用的
context
选项来控制成功处理程序中该指针的设置:
$.ajax({
type: "POST",
url: '/ajax/actions/deleteMailshot.php',
data: {mailshot_id:mailshot_id},
context: this,
success: function(data) {
$(this).closest('.tableRow').fadeOut();
}
});
默认情况下,成功处理程序中的this
指向调用中使用的ajax设置对象,但如果不需要引用该对象,则设置上下文
属性允许您保持此
与调用$.ajax()时相同
因此,您可以直接使用它,而无需其他答案中提供的解决方法。我怀疑$(此)
中的成功
指的是一些意外的事情,请尝试查看/查看控制台中是否存在任何可能的错误。@KingKing-per,成功处理程序中的该
指向ajax调用中使用的ajax设置对象。但是,正如我在回答中所描述的,可以使用context
属性告诉jQuery您希望将这个
设置为什么。
$button.closest...
$.ajax({
type: "POST",
url: '/ajax/actions/deleteMailshot.php',
data: {mailshot_id:mailshot_id},
context: this,
success: function(data) {
$(this).closest('.tableRow').fadeOut();
}
});