jQuery:分离并重新附加元素而不重新加载内容
我想知道是否可以使用jQuery分离然后将元素(例如div)重新附加到DOM而不重新加载元素内的内容。
考虑这个示例布局:
第一列有3张牌,第二列有2张牌。 如果用户隐藏了第二列中的一张卡片,我想通过将其中一张卡片从第一列移动到第二列来重新堆叠卡片,这样现在每列中有两张卡片。 我可以很容易地使用.appendTo()
.detach()
和.appendTo()
完成此操作,但是当我将卡从第一列重新连接到第二列时,无论卡片包含的任何内容是否重新加载,无论是图像还是小部件,例如嵌入式推文。
我想知道的是,是否可以将卡从一列移动到另一列而不触发其中的内容重新加载。
使用.clone()
似乎不会再次请求资源。 注意,在.appendTo()
之后调用.appendTo()
。
另请注意,带document
的元素的id
应该是唯一的; 具有id
"widget"
两个元素在问题的html
内; 尝试更改为class="widget"
$(".col-lg-6:eq(1) div").click(function(e) { $(e.target).hide(); var clone = $(".col-lg-6:eq(0) div:eq(0)").clone(); clone.appendTo(".col-lg-6:eq(1)"); $(".col-lg-6:eq(0) div:first").detach(); })