所以我正在尝试克隆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

最佳答案

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

应该这样做。

您可以进一步简化,但是我使用了您已有的代码。

10-04 15:56