Yo uso .appendpara agregar a un div
$(this).append('<ul><li>test</li></ul>');
¿Cómo puedo buscar un <ul>y eliminarlo si existe en los hijos de $(this)?
Respuestas:
Podrías usar remove(). Más información sobre jQuery remove () .
$(this).children("ul").remove();
Tenga en cuenta que esto eliminará todos los ul elementos secundarios.
Lo contrario de .append()es .prepend().
De la documentación de jQuery para anteponer ...
El método .prepend () inserta el contenido especificado como el primer hijo de cada elemento en la colección jQuery (para insertarlo como el último hijo, use .append ()).
Me doy cuenta de que esto no responde al caso específico del OP . Pero responde al título de la pregunta. :) Y es el primer éxito en Google para "jquery opuesto anexar".
Utilice el método remove () :
$(this).children("ul").remove();
Lo que también debe considerar es mantener una referencia al elemento creado, luego puede eliminarlo fácilmente de manera específica:
var newUL = $('<ul><li>test</li></ul>');
$(this).append(newUL);
// Later ...
newUL.remove();
acabo de tener el mismo problema y me he encontrado con esto, que en realidad funciona para mí:
// $("#the_div").contents().remove();
// or short:
$("#the_div").empty();
$("#the_div").append("HTML goes in here...");
.contents().remove()es igual .empty().
$(...).empty().append(...):)