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



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

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

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

我一输入这个,元素就被复制了,即使后面只有一个可以插入的.行。如何在移动元素时移动元素而不是复制它?

http://recordit.co/nSDYRUxxSr

编辑:我尝试创建一个代码笔,但无法复制问题

您有两个类为tab-content的div。让你的第一个选择器更具体一点可以解决你的问题。

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

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

最新更新