.replaceWith() 在 jQuery 1.9+ 中不起作用
.replaceWith() is not working in jQuery 1.9+
我正在尝试克隆一个 <textarea>
并克隆并替换标签 <label> Number 1 <label>
中的数字,每次按下添加按钮时增加 1(因此第一个标签的数字为 1 ,数字 2 下方的标签等)。
这适用于 jQuery 1.8 及以下版本,但高于此版本的任何内容都不会克隆并在数字上加 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/
我不知道你用 .attr('span'
做了什么,为什么它似乎在 < 1.8 中有效,或者你为什么要从 cloneCount
中减去一个,但这应该可以满足你的要求:
var $row = $('div').clone(),
cloneCount = 2;
$('button').click(function () {
$row.clone().insertBefore($("button"));
$('span.one:last').text(cloneCount++);
});
我正在尝试克隆一个 <textarea>
并克隆并替换标签 <label> Number 1 <label>
中的数字,每次按下添加按钮时增加 1(因此第一个标签的数字为 1 ,数字 2 下方的标签等)。
这适用于 jQuery 1.8 及以下版本,但高于此版本的任何内容都不会克隆并在数字上加 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/
我不知道你用 .attr('span'
做了什么,为什么它似乎在 < 1.8 中有效,或者你为什么要从 cloneCount
中减去一个,但这应该可以满足你的要求:
var $row = $('div').clone(),
cloneCount = 2;
$('button').click(function () {
$row.clone().insertBefore($("button"));
$('span.one:last').text(cloneCount++);
});