У меня есть div
с классом textareaedit
, который может содержать более одного p
(абзаца). Но я хочу взять только последний абзац и разобраться с этим текстом.
Мой HTML такой:
<div class="textareaedit">
<p> </p>
<p> </p>
</div>
И мой javascript:
$thisinput = $('forminput');
$taedit = $('.textareaedit');
var $target = $taedit.children(); //in case there is more than one <p> here
while( $target.length ) {
$target = $target.children();
}
$target.end().text($thisinput.val()) ;
Этот код срабатывает всякий раз, когда пользователь оставляет фокус на элементе формы forminput
. Я хочу, чтобы текст пользователя переходил на $taedit
. Но если $taedit
содержит более одного абзаца, то каждый раз, когда пользователь вводит forminput
, $taedit
дублирует текст внутри него.
Пример: если $taedit
имеет только один p
, то когда пользователь вводит This is my text
, тогда $taedit
выглядит так:
This is my text
Но если $taedit
имеет два p
, то когда пользователь вводит This is my text
(только один раз!), тогда $taedit
выглядит так:
This is my text
This is my text
И если пользователь вводит его снова, он удваивается:
This is my text
This is my text
This is my text
This is my text
Я понимаю, что что-то должно происходить из-за цикла while
, но чего я не понимаю, так это того, что я вызываю $target.end()
только один раз... так что текст должен добавляться только к последнему абзацу? Моя цель состоит в том, чтобы не было дубликатов, независимо от того, сколько p
существует.