如何防止jQuery的insertAfter()方法复制正在移动的HTML?

时间:2018-07-20 17:32:34

标签: javascript jquery html css

我正在处理以下页面:http://partyz.ourers.com/items/dunk_tank

下面是我重新加载页面并打开检查器工具的记录。我将鼠标悬停在要重定位的元素上,然后显示了将元素移至DOM中的位置。之后,我打开控制台并输入jQuery以实际移动元素:

var tabs = $(".tab-content");
tabs.detach();
tabs.insertAfter(".store .legacy-item-page > .row");

一旦我输入了这个元素,即使只有一个.row元素可以被插入,该元素也会被复制。我如何移动元素而不是在移动元素时将其复制?

http://recordit.co/nSDYRUxxSr

编辑:我尝试创建一个Codepen,但是无法复制问题

2 个答案:

答案 0 :(得分:0)

您有两个DIV,其类为tab-content。使您的第一个选择器更具体一些可以解决您的问题。

var tabs = $(".store .legacy-item-page .tab-content");
tabs.detach();
tabs.insertAfter(".store .legacy-item-page > .row");

答案 1 :(得分:0)

感谢您指出这些家伙。基本上,我只是意识到我使用的第三方平台正在处理重组后的产品页面,而不是用新的HTML替换旧的HTML,而是用.legacy将旧代码和新代码打印到各自的div中。 -item-page设置为display:none,.item-page设置为display:block;。这是他们最近做出的更改,没有发出任何警告,我只是因为重复问题才注意到。正如@Kodie Grantham提到的,使选择器更具体将解决我遇到的问题。