2015-10-13 150 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