追加到身体然后删除 - 无法让它删除

问题描述:

我有一个非常简单的模式窗口追加身体 - 单击关闭按钮应该删除它我认为这会做到这一点,但没有。我试过$(this).remove();它拿出了按钮,但没有附加的文本 - 我哪里出错了?追加到身体然后删除 - 无法让它删除

$(function(){ 
var qrCodeDiv='<div id="qrBlock"><a href="#" class="closeQR">X</a></div>' 

$(".add").click(function(){ 
$('body').append(qrCodeDiv); 
}); 

$('a.closeQR').live("click", function() { 
$('body').remove(qrCodeDiv); 
}); 
}); 

.remove() does not accept an arbitrary HTML string。这种语法对创建元素特别有用,但这不是.remove()所做的。

将其更改为$('body').remove('#qrBlock')或简单地$('#qrBlock').remove()


注意,当click回调运行不止一次在你的问题的代码将插入具有相同ID的多个元素,which is a big no-no and will lead to undefined behavior.

+0

不知怎的,我从来没有注意到'卸下摆臂(选择)'语法整洁。 – jmar777 2013-04-09 00:35:23

+0

很感谢 - 第二个人做了这个诀窍。我还在fadeOut转换中添加了 $(“#qrBlock”)。fadeOut(800,function(){$(“#qrBlock”)。remove();}); – Tomate 2013-04-09 00:41:23

+0

哦,是的,我知道多个插入,但当链接被点击时,div覆盖它,所以它不能再次点击 - 这就是为什么我非常热衷于从代码页中删除代码,而不是只是淡化它。 – Tomate 2013-04-09 15:17:36