Jquery Remove не полностью удаляет элемент

0

На основе документации Jquery.remove удалит элемент и вложенные элементы html внутри родительского тега.

Использование примера JQuery

<div class="container">
<div class="hello">Hello</div>
<div class="goodbye">Goodbye</div>
</div>

$( ".hello" ).remove();

дам

<div class="container">
<div class="goodbye">Goodbye</div>
</div>

Однако, возможно, я делаю это неправильно, но мне нужно использовать jquery для перемещения элемента.

Если я сделаю следующее:

<div class="container">
<div class="hello">Hello</div>
<div class="goodbye">Goodbye</div>
<textarea></textarea>
</div>
<div class="test"></div>

var container = $(".container")[0].outerHTML;
$(".container").remove();
$(".test").append(container);

Это сделает копию контейнера, включая родительский элемент, удалит html-элементы, а затем добавит.test с данными. Если я затем попытаюсь добавить элемент после текстового поля, как это:

$("textarea").after("<p>abc123</p>");

Вместо того, чтобы применять этот абзац к текстовой области, которая оставлена, она применяет его к тому, где должна быть оригинальная текстовая область, а также к новой текстовой области.

Кто-нибудь знает, связано ли это с тем, как я это сделал или если есть способ?

Заранее благодарю за ваше время.

  • 0
    Я не понимаю, к чему вы пытаетесь добраться.
  • 0
    «Вместо применения абзаца к оставленной текстовой области он применяет его к тому месту, где должна быть исходная текстовая область, а также к новой текстовой области». Не для меня это не так: jsfiddle.net/j08691/FBC2A
Показать ещё 3 комментария

1 ответ

3
Лучший ответ

append() перемещает элемент, вам не нужно remove() его вообще

$(".test").append($(".container"));
  • 0
    Ваше правильное приложение скопирует .container, однако мне нужно переместить .container и удалить его из его исходного местоположения. Извините, я не так ясно
  • 0
    @LiamSorsby - это именно то, что делает append при вызове существующего элемента, он не создает другого элемента, он просто перемещает тот, который у вас есть, вам не нужно ничего удалять.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню