繁体   English   中英

将参数传递到JQuery.slideUp()回调中

[英]Passing a parameter into the JQuery.slideUp() callback

我正在尝试向上滑动元素,然后将其删除。 但是我似乎无法将元素ID传递到删除它的回调中。

我无法对值进行硬编码,因为它必须是动态的。

insertedTemplates是插入页面的模板的集合。 当用户更改其选项时,将插入一个新元素,并删除旧元素。

以下内容将无法删除该元素,因为它是未定义的:

    var elementId = insertedTemplates[i].id;
    $('#'+elementId).slideUp(400, function(elementId) {
        $('#'+elementId).remove();
    });

我发现了一个帖子,建议通过在函数声明之后立即添加它来传递值。

这将立即删除元素:

    var elementId = insertedTemplates[i].id;
    $('#'+elementId).slideUp(400, function() {
        $('#'+elementId).remove();
    }(elementId));

您不需要传递元素ID。 在回调中使用$(this)

var elementId = insertedTemplates[i].id;
$('#' + elementId).slideUp(400, function (elementId) {
    $(this).remove(); // <---- Use $(this)
});

slideUp回调中的$(this)是调用该函数的元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM