[英]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.