2015-10-13 87 views
1

我想克隆一個<textarea>並克隆並替換標籤<label> Number 1 <label>中的數字,每次按下添加按鈕時都會增加1(所以第一個標籤將有Number 1,2號標籤下面的標籤等)。.replaceWith()不工作在jQuery 1.9+

這適用於jQuery 1.8及以下版本,但以上任何內容都不會克隆並將數字1加1。

HTML

<div> 
<label for="number">Number <span class="one">1</span></label> 
<textarea id="number"></textarea> 
</div> 
<button>Add</button> 

jQuery的

var $row = $('div').clone(), 
    cloneCount = 2; 

$('button').click(function() { 
    $row.clone().insertBefore($("button")); 
    $('span').clone().attr('span', cloneCount++).replaceWith($('[class=one]:last')).text(cloneCount - 1); 
}); 

的jsfiddle:http://jsfiddle.net/wba6jvkj/

回答

2

我不知道你用.attr('span'嘗試,爲什麼它似乎在< 1.8,或者爲什麼工作你正在從cloneCount中減去一個,但這應該做你想要的:

var $row = $('div').clone(), 
    cloneCount = 2; 

$('button').click(function() { 
    $row.clone().insertBefore($("button")); 
    $('span.one:last').text(cloneCount++); 
}); 

jsFiddle example