Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将参数传递到JQuery.slideUp()回调_Javascript_Jquery - Fatal编程技术网

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

Javascript 将参数传递到JQuery.slideUp()回调,javascript,jquery,Javascript,Jquery,我正在尝试向上滑动元素,然后将其删除。但是,我似乎无法将元素ID传递到删除它的回调中 我无法硬编码该值,因为它必须是动态的 insertedTemplates是插入页面的模板集合。当用户更改其选项时,将插入新元素并删除旧元素 由于元素未定义,以下操作将无法删除该元素: var elementId = insertedTemplates[i].id; $('#'+elementId).slideUp(400, function(elementId) { $('#'+

我正在尝试向上滑动元素,然后将其删除。但是,我似乎无法将元素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)
});
var elementId=insertedTemplates[i].id;
$('#'+elementId).slideUp(400,函数(elementId){

$(this).remove();//这太简单了。谢谢!