如何在 jQuery 中获取整个元素的副本?

发布于 2024-09-29 18:24:31 字数 276 浏览 2 评论 0原文

我想获取选定的元素,然后将其副本插入到几个地方。

var template = $("#info-" + country + " > .stats > .template").clone();
$(template).insertBefore("#info-" + country + " > .stats > .template");

我做错了什么,它没有复制元素并插入它?

PS 我选择复制的元素是display:none。

I want to get the selected element and then insert it's copies in few places.

var template = $("#info-" + country + " > .stats > .template").clone();
$(template).insertBefore("#info-" + country + " > .stats > .template");

What I'm doing wrong that it doesn't copy the element and insert it?

P.S. The element which I'm selecting to copy is display:none.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夏日落 2024-10-06 18:24:31

你有一个额外的包装, template 已经是一个 jQuery 对象,你只需要:

var template = $("#info-" + country + " > .stats > .template").clone();
template.insertBefore("#info-" + country + " > .stats > .template");

或者更简单一点:

var template = $("#info-" + country + " > .stats > .template");
template.clone().insertBefore(template);

或者使用 .before() 带有一个函数,如下所示:

 $("#info-" + country + " > .stats > .template").before(function() { 
   return $(this).clone(); 
 });

You have an extra wrap there, template is already a jQuery object, you just need:

var template = $("#info-" + country + " > .stats > .template").clone();
template.insertBefore("#info-" + country + " > .stats > .template");

Or a bit simpler:

var template = $("#info-" + country + " > .stats > .template");
template.clone().insertBefore(template);

Or use .before() with a function, like this:

 $("#info-" + country + " > .stats > .template").before(function() { 
   return $(this).clone(); 
 });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文