追加到身体然后删除 - 无法让它删除
问题描述:
我有一个非常简单的模式窗口追加身体 - 单击关闭按钮应该删除它我认为这会做到这一点,但没有。我试过$(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.
不知怎的,我从来没有注意到'卸下摆臂(选择)'语法整洁。 – jmar777 2013-04-09 00:35:23
很感谢 - 第二个人做了这个诀窍。我还在fadeOut转换中添加了 $(“#qrBlock”)。fadeOut(800,function(){$(“#qrBlock”)。remove();}); – Tomate 2013-04-09 00:41:23
哦,是的,我知道多个插入,但当链接被点击时,div覆盖它,所以它不能再次点击 - 这就是为什么我非常热衷于从代码页中删除代码,而不是只是淡化它。 – Tomate 2013-04-09 15:17:36