我正在尝试根据数字字段的数字输入来克隆一组文本。似乎我得到的代码仅将项目附加一次到before test.InspectMe.outer()
after test.InspectMe.outer()
元素中。 .wrap
是否有限制,或者我忽略的其他限制只能将项目附加一次?
我期望发生的事情:
我期望在下面的代码中发生的是,.clone()
值被更新(假设为3),克隆了.duplicate
元素,然后清空了.target
元素,并且循环运行并追加存储在.wrap
中的3个克隆。最后的$clone
元素应包含3个.wrap
元素。
正在发生什么:
上面的事情似乎发生了,但最后只有1个<h2>Target</h2>
元素附加到了<h2>Target</h2>
元素上。
代码:
.wrap
$( 'body' ).change( '.duplicate', function() {
var count = $( '.duplicate' ).val(),
$clone = $( '.target' ).clone(),
i = 1;
$( '.wrap' ).html( '' );
while ( i <= count ) {
$( '.wrap' ).append( $clone );
i++;
}
} );
.duplicate {
width: 200px;
}
答案 0 :(得分:1)
每次迭代都需要一个新的克隆,否则每次只需移动原始克隆
另外,一旦您拥有该类中的一个以上,就只想克隆其中一个
$clone = $( '.target' ).first().clone()
while ( i <= count ) {
$( '.wrap' ).append( $clone.clone() );