remove()
元素
现在当我再次点击我的链接打开弹出窗口时,该链接无法正常工作,因为该图层已被删除。
如何从元素中删除remove属性?
更新
点击链接后,我使用requireJS
插件加载JS文件:
$('a#addUser').click(function () {
require (['controllers/users/add'],function() {
$('#loading').fadeOut('fast');
});
});
在controllers / users / add.js中我有弹出窗口,用户可以关闭弹出窗口,我这里没有任何问题,问题是当用户再次点击链接时弹出窗口应该再次显示,但是我弹出的代码不会再打开。
解答: 问题是requreJS,因为这个插件允许我加载我的javascript一次,
我应该使用$.getScript()
而不是requreJS
答案 0 :(得分:3)
删除不是属性,元素实际上已经消失。要暂时隐藏它,请使用hide()和show(),将其重新分开,稍后再使用detach()。
var elm = $("#elementID").detach();
$(button).on('click', function() {
elm.appendTo('#popupID');
});
答案 1 :(得分:1)
在删除之前(无法恢复!)克隆它。
var cloned = $('.foo').clone();
$('.clone').remove();
我不确定你是否做了正确的删除工作,但我回答了你的问题 您可能希望隐藏并显示内部元素,将其从DOM中完全删除。
答案 2 :(得分:0)
var copyofpopup = $('.popup').clone(true);
$('.popup').remove();
$('OPEN_POPUP_LINK').on('click', function() {
copyofpopup.appendTo('SOMETARGET');
});
注意最好只显示/隐藏(切换)而不是删除