克隆一个div的所有内容,如按钮

时间:2014-05-28 08:46:55

标签: javascript jquery

下面是我的代码,在这段代码中,当我执行div照片的.clone()时,它只会克隆div'照片'没有按钮。我想用内容克隆整个div(按钮和div在这里)。我怎么能这样做?谢谢

HTML:

      <div class="photo">
        <button>Delete</button>
      </div>

JavaScript的:

         var $photo = $('.photo').clone();
         $('.photo').html($photo);

2 个答案:

答案 0 :(得分:1)

jQuery clone()函数有一个名为withDataAndEvents

的额外参数
  

withDataAndEvents(默认值:false)类型:Boolean一个布尔值,指示

     

是否应将事件处理程序和数据与...一起复制   元素。默认值为false

因此,在您的情况下,以下代码应该可以解决您的问题。

var $photo = $('.photo').clone(true);

小例子:

http://jsfiddle.net/5tT3P/1/

答案 1 :(得分:0)

您的代码在Chrome,Safari和Firefox(最新版本,OSX)中正常运行。您是否只想克隆内容?

使用此HTML:

<div class="photo">
   <button>Delete</button>
</div>

和这个JS:

var $photo = $('.photo').clone();
$('.photo').html($photo);

新的HTML看起来像这样:

<div class="photo">
    <div class="photo"> <-- because a clone of .photo is being inserted into .photo -->
        <button>Delete</button>
  </div>
</div>

如果您将其附加到新div,则没有.photo>.photo并且该按钮可见。

<强> FIDDLE 小提琴。