如何使用jQuery的clone()函数复制和粘贴div?

时间:2015-08-17 23:32:35

标签: javascript jquery

所以我试图克隆container1,但我没有成功:

a)这就是我所拥有的:

<div>
  <div class="container1">
    <div class="hello">Hello 1</div>
    <div class="goodbye">Goodbye 1</div>
  </div>
  <div class="container2">
    <div class="hello">Hello 2</div>
    <div class="goodbye">Goodbye 2</div>
  </div>
</div>

b)这就是我的期望:

<div>
  <div class="container1">
    <div class="hello">Hello 1</div>
    <div class="goodbye">Goodbye 1</div>
  </div>
  <div class="container2">
    <div class="hello">Hello 2</div>
    <div class="goodbye">Goodbye 2</div>
  </div>
  <div class="container1">
    <div class="hello">Hello 1</div>
    <div class="goodbye">Goodbye 1</div>
  </div>
</div>

c)这就是我得到的:

<div>
  <div class="container1">
    <div class="hello">Hello 1</div>
    <div class="goodbye">Goodbye 1</div>
  </div>
  <div class="container2">
    <div class="hello">Hello 2</div>
    <div class="goodbye">Goodbye 2</div>
  </div>
    <div class="hello">Hello 1</div>
    <div class="goodbye">Goodbye 1</div>
</div>

这是我的代码:

var container1=$('.container1').clone();
$('.container2').after( container1.html() );

jsFiddle

1 个答案:

答案 0 :(得分:4)

无需调用html()。 container1已经是克隆了。 html只返回内部html。      var container1 = $('.container1').first().clone(); $('.container2').after( container1 );

应该这样做。

你可以进一步简化这一点,但是我选择了你已有的代码。