Я пытаюсь клонировать набор текста на основе числового ввода числового поля. Кажется, что полученный код добавляет элемент только один раз в элемент .wrap
. Есть ли у меня ограничение на .clone()
или что-то еще, что я пропускаю, и которое добавит элемент только один раз?
Чего я ожидаю:
В коде ниже я ожидаю, что значение .duplicate
обновляется (скажем, 3), элемент .target
клонируется, затем элемент .wrap
очищается, и цикл запускается и добавляет 3 клона. хранится в $clone
. Последний элемент .wrap
должен содержать 3 <h2>Target</h2>
элемента.
Что происходит:
Вышеприведенное, кажется, происходит, но в конце к элементу .wrap
добавляются только 1 <h2>Target</h2>
элементы.
Код:
$( '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;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<input type="number" class="duplicate" value="1" min="1" max="5">
<div class="wrap">
<div class="target">
<h2>Target</h2>
</div>
</div>