如何将jQuery hide()和fadeIn()压缩到一行?

如何将jQuery hide()和fadeIn()压缩到一行?,jquery,Jquery,我正在使用jQuery向表中添加新行,并使行按我的需要淡入,但只需进行两次调用,第一次使用after将新行添加到表的末尾,然后使用hide,然后使用fadeIn来获得效果。我想压缩这个 $(document).ready(function ($) { $("button").click(function () { $.get('@Url.Action("AddCalculatorRow", "Workshop", n

我正在使用jQuery向表中添加新行,并使行按我的需要淡入,但只需进行两次调用,第一次使用
after
将新行添加到表的末尾,然后使用
hide
,然后使用
fadeIn
来获得效果。我想压缩这个

$(document).ready(function ($) {
    $("button").click(function () {
        $.get('@Url.Action("AddCalculatorRow", "Workshop", 
                           new { id = Model.Id } )', function (data) {
            $('.calculator').find("tbody tr:last").after(data);
            $('.calculator').find("tbody tr:last").hide().fadeIn(2000);
        });
    });
});
复制品告诉我必须有一种更优雅的方式来实现外观。但是如果我做到了

$('.calculator').find("tbody tr:last").after(data).hide().fadeIn(2000); 

然后添加的行立即显示,最后一行隐藏并淡入。。。这看起来很糟糕。

添加新内容后,只需瞄准下一个元素即可

$('.calculator').find("tbody tr:last").after(data).next().hide().fadeIn(2000);
或者交换:

$(data).hide().appendTo('.calculator tbody').fadeIn(2000);
在使用数据之前分析数据也是明智的,但这是完全可选的:

$($.parseHTML(data)).hide().appendTo('.calculator tbody').fadeIn(2000);

第一个建议是可行的,交换的是bizaar,我在上面和下面都有一排。你能详细解释一下你解析数据的意思吗?你有多个tbody标签吗?使用
$.parseHTML()
只需确保正确解析它。例如,当您使用
$(htmlstring)
解析整个文档时,它解决了IE10中的内存泄漏问题;虽然我只添加了一个,但还是添加了另一组。我去掉了我放进去的那一个,然后把它整理好了。简洁的版本现在很好用。我喜欢它,它也更紧凑。