HOME > > > > >

.clone()

.clone( [withDataAndEvents] )

引数

(boolean)withDataAndEvents
trueの場合、イベントハンドラもコピーされる。省略の場合、false

戻り値

jQuery
jQueryオブジェクト

サンプル

要素のコピーを作成する。

実行結果



Javascript

  1. $('.jqTest1 .execute').on('click', function(e){
  2.     alert($(e.target).closest('div.alertText').find('input.targetText').val());
  3. });
  4.  
  5. $('.jqTest1 .add').on('click', function(e){
  6.     if ($(e.target).text() === 'true') {
  7.         $(e.target).parent().append($('.jqTest1 .alertText:first').clone(true));
  8.     } else {
  9.         $(e.target).parent().append($('.jqTest1 .alertText:first').clone());
  10.     }
  11. });

HTML

  1. <div class="jqTest1">
  2.     <div class="alertText">
  3.         <input type="text" class="targetText" value="target" />
  4.         <button class="execute">Alert</button>
  5.     </div>
  6.     <hr />
  7.     <button class="add">true</button><button class="add">false</button>
  8.     <hr />
  9. </div>

CSS

  1. .jqTest1 .alertText {
  2.     padding: 1em;
  3.     margin: 1em;
  4.     border: 1px solid #CCCCCC;
  5. }

.clone( [withDataAndEvents] [, deepWithDataAndEvents] )

引数

(boolean)withDataAndEvents
trueの場合、イベントハンドラもコピーされる。省略の場合、false
(boolean)deepWithDataAndEvents
trueの場合、deta()で設定したデータもコピーされる。省略の場合、withDataAndEventsの値が使われるっぽい。

戻り値

jQuery
jQueryオブジェクト

サンプル

実行結果



Javascript

  1. $('.jqTest2 .execute').data('test', 'deepWithDataAndEvents')
  2.                       .on('click', function(e){
  3.                           $(e.target).closest('div.alertText').append($(e.target).data('test'));
  4.                       });
  5.  
  6. $('.jqTest2 .add').on('click', function(e){
  7.     if ($(e.target).text() === 'true') {
  8.         $(e.target).parent().append($('.jqTest2 .alertText:first').clone(true, true));
  9.     } else {
  10.         $(e.target).parent().append($('.jqTest2 .alertText:first').clone(true, false));
  11.     }
  12. });

HTML

  1. <div class="jqTest2">
  2.     <div class="alertText">
  3.         <input type="text" class="targetText" value="target" />
  4.         <button class="execute">Alert</button>
  5.     </div>
  6.     <hr />
  7.     <button class="add">true</button><button class="add">false</button>
  8.     <hr />
  9. </div>

CSS

  1.  
  2. .jqTest2 .alertText {
  3.     padding: 1em;
  4.     margin: 1em;
  5.     border: 1px solid #CCCCCC;
  6. }
  7.