我正在尝试向上滑动我的元素,然后将其删除。但是我似乎无法将元素 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)
是调用该函数的元素。
关于javascript - 将参数传递到 JQuery.slideUp() 回调中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34714414/