2012-03-06 45 views
4
$('.addPack').click(function(){ 
      $('.immediate-whiskypack-inputs').clone().appendTo('#whiskypacks').show(); 
      return false; 
     }); 

我在div.immediate-whiskypack-inputs中有一些表單輸入,我想克隆它並將其附加到div#whiskypacks。 上面的函數克隆每個div類,有克隆只有一個div的方法嗎?克隆()jQuery中的第一類

+1

當然,你想克隆是哪一個? – 2012-03-06 16:58:25

+0

@JeffB:無論如何,他都可以使用'eq' :) – Sarfraz 2012-03-06 17:06:01

+0

除非他想克隆哪個輸入值爲「真棒」... – 2012-03-06 17:18:23

回答

9

只需修改您的選擇器,使其返回您想要克隆的單個元素。如果你有興趣在第一場比賽,然後使用:

$('.immediate-whiskypack-inputs:first') 

而不是

$('.immediate-whiskypack-inputs') 
2

上述功能的克隆每個格類,有沒有克隆 只是div的之一的方法嗎?

使用eqDocs

$('.immediate-whiskypack-inputs').eq(0).clone().appendTo('#whiskypacks').show(); 

0開始元素的eq需求指數。因此,如果您想追加第一個,請使用0,第二個使用1,第三個使用2等。

如果要克隆第一個或最後一個,使用:first:last過濾器選擇:

// clone first 
$('.immediate-whiskypack-inputs:first').clone().appendTo('#whiskypacks').show(); 
$('.immediate-whiskypack-inputs').eq(0).clone().appendTo('#whiskypacks').show(); 
// clone last 
$('.immediate-whiskypack-inputs:last').clone().appendTo('#whiskypacks').show(); 
2

你沒有提到要克隆其div,所以我想你不在乎哪一個。 ..
first()功能將抓住的第一個元素:

$('.addPack').click(function(){ 
      $('.immediate-whiskypack-inputs').first().clone().appendTo('#whiskypacks').show(); 
      return false; 
     }); 

如果你要克隆其元素護理,使用eq(index)樂趣ction:

$('.immediate-whiskypack-inputs').eq(theDesiredElementIndex).clone()... 

eqdocs

當量(指數)INDEX-指示元素的基於0的位置的整數。

+0

他沒有提到第一個div實際:) – Sarfraz 2012-03-06 17:06:56

+0

@Sarfraz。那麼_「只是其中一個div?」_聽起來像他不在乎哪一個......但我爲了完整性而添加了「eq」...... – gdoron 2012-03-06 17:54:38