克隆& Appendto - 无法使其工作(JS Newb)

时间:2011-11-13 23:49:15

标签: javascript clone appendto

哇。这两个都很完美。谢谢!!!

还有一个后续问题。假设我有4个不同的Tabcontent Divs,带有独特的类。我想将Getit课程附加到所有tabcontent Divs ......

如果我只是追加到'tabcontent',它会将它添加到所有'tabcontent'div的底部,这很棒。但是,我有与GetIt ID重复的相同内容。我怎样才能做到这一点,如果有人在我的选项卡式导航栏中选择了GetIt,那么克隆将不会出现,但它会出现在所有其他tabcontent类中?

这是我原来的问题:

首先,让我说我不太了解Javascript。只是想在这里拼凑一些东西。

我的问题是:

我想获取一个Div ID,克隆它并将其附加到另一个Div ID而不更改任何内容。

HTML看起来像这样:

<div class="tabcontent" id="Getit"> Buy my widgets</div>
<div class="tabcontent" id="History"> History of my widgets</div>

我想复制/克隆“Getit”ID并将其附加到“历史记录”ID的末尾。

目前,我的Javascript代码如下所示:

$('#tabcontent .Getit').clone().appendTo('#tabcontent .History');

感谢您提供的任何帮助。

谢谢!

2 个答案:

答案 0 :(得分:0)

您的选择器'#tabcontent .Getit'会搜索来自.Getit的所有#tabcontent个子元素。我认为这不是你想要的。

这应该这样做:

$('#Getit').clone( true ).appendTo('#History');

使用参数.clone()调用true会导致其克隆所有附加数据&amp;事件以及。但是,这是可选的。

答案 1 :(得分:0)

.是一个类选择器,#是一个ID选择器。 #tabcontent正在寻找一个唯一的ID'd元素,.Getit会返回一个类选定元素的数组,而不是id选择元素。

试试.tabcontent#Getit。此外,#History也是如此。你想做#Getit.tabcontent#History.tabcontent或反转(注意,没有空格,这是一个后代选择器)来选择一个元素。

<div class="tabcontent" id="Getit"> Buy my widgets</div>
<div class="tabcontent" id="History"> History of my widgets</div>

$('.tabcontent#Getit').clone().appendTo('.tabcontent#History');

http://jsfiddle.net/qreQ5/

注意,您还需要以某种方式处理克隆的id属性。例如:

$('.tabcontent#Getit').clone().attr('id','test').appendTo('.tabcontent#History');

http://jsfiddle.net/qreQ5/2/