Opuesto de agregar en jquery

81

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)?

sami
fuente

Respuestas:

88

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.

Josh K
fuente
Quiero buscar un elemento (div) en una variable. ¿Cómo puedo hacer esto?
Prasanth Jaya
23

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".

langosta
fuente
1
Responde mi pregunta. "¿Qué es lo opuesto a agregar"
Chris Marisic
18

Utilice el método remove () :

$(this).children("ul").remove();
Frédéric Hamidi
fuente
14

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();
RoToRa
fuente
¿Puedes explicar un poco más?
Shamseer Ahammed
@ShamseerAhammed ¿Qué no entiendes?
RoToRa
9

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...");
Martin Wirth
fuente
1
Creo que .contents().remove()es igual .empty().
pimvdb
2
No estoy del todo seguro de si conoce el encadenamiento; en caso de que no lo sepa, puede combinar declaraciones en jQuery como $(...).empty().append(...):)
pimvdb
5

El opuesto hacia arriba es children (), pero el opuesto en posición es prepend (). Aquí un muy buen tutorial.

calor
fuente