我知道之前有人问过这个问题,但我遇到的问题似乎与之前解决的问题不同。我有一个表,我希望每一行都有一个删除链接,该链接使表行淡出,然后从 DOM 中删除表行。我的第一个问题是我无法让 jQuery fadeOut 效果在表格行上工作,并且发现您实际上必须在该行的 td 元素上调用 fadeOut。所以,这是我的 jJavascript:
$('span.deleteItem').live('click', function() {
$(this).closest('tr').find('td').fadeOut('fast',
function(){
$(this).parents('tr:first').remove();
});
return false;
});
span 元素位于 td 内,因此我在单击它时找到最近的 tr 元素,然后将 fadeOut 函数落在它的每个 td 元素上。这很好用。
问题在于,在回调函数中,“this”实际上引用的是 window 元素,而不是隐藏的单个 td 元素。根据我的理解,“this”应该引用淡出的元素。
有什么想法吗?
最佳答案
获取“this”引用并将其传递:
$('span.deleteItem').live('click', function() {
var here = this;
$(this).closest('tr').find('td').fadeOut('fast',
function(here){
$(here).parents('tr:first').remove();
});
return false;
});
关于jquery - 淡出并删除表格行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7234399/