Я використовую .appendдля додавання до div
$(this).append('<ul><li>test</li></ul>');
як я можу шукати <ul>та видаляти його, якщо він існує у дітей $(this)?
Відповіді:
Ви могли б використовувати remove(). Докладніше про jQuery remove () .
$(this).children("ul").remove();
Зауважте, що це призведе до видалення всіх ul елементів, які є дочірніми.
Протилежність .append()є .prepend().
З документації jQuery для prepend…
Метод .prepend () вставляє вказаний вміст як перший дочірній елемент кожного елемента в колекції jQuery (Щоб вставити його як останній дочірній елемент, використовуйте .append ()).
Я розумію, що це не відповідає конкретному випадку ОП . Але це відповідає на заголовок питання. :) І це перший хіт у Google за “jquery супротивне додавання”.
Використовуйте метод remove () :
$(this).children("ul").remove();
Що ви також повинні врахувати, це збереження посилання на створений елемент, тоді ви можете легко його конкретно видалити:
var newUL = $('<ul><li>test</li></ul>');
$(this).append(newUL);
// Later ...
newUL.remove();
у мене була така ж проблема, і я зіткнувся з цим - що насправді робить для мене фокус:
// $("#the_div").contents().remove();
// or short:
$("#the_div").empty();
$("#the_div").append("HTML goes in here...");
.contents().remove()рівним .empty().
$(...).empty().append(...):)