primer parentnode obtener nodo los hijos hijo eliminar elemento div con acceder jquery

jquery - parentnode - obtener los hijos de un elemento javascript



¿Eliminar todos los nodos secundarios de un padre? (2)

Tengo una lista, solo quiero eliminar todos los nodos secundarios de ella. ¿Cuál es la forma más eficiente de usar jquery? Esto es lo que tengo:

<ul id=''foo''> <li>a</li> <li>b</li> </ul> var thelist = document.getElementById("foo"); while (thelist.hasChildNodes()){ thelist.removeChild(thelist.lastChild); }

¿Hay un atajo en lugar de eliminar cada elemento, uno a la vez?

----------- Editar ----------------

Cada elemento de lista tiene algunos datos adjuntos y un manejador de clics como este:

$(''#foo'').delegate(''li'', ''click'', function() { alert(''hi!''); }); // adds element to the list at runtime function addListElement() { var element = $(''<li>hi</hi>''); element.data(''grade'', new Grade()); }

Eventualmente, podría agregar botones por artículo de la lista también, así que parece que empty () es el camino a seguir, para asegurarse de que no haya pérdidas de memoria.


Otros usuarios sugirieron:

.empty()

es lo suficientemente bueno, porque elimina todos los nodos descendientes (nodos de etiqueta y nodos de texto) Y todo tipo de datos almacenados dentro de esos nodos. Consulte la documentación vacía de la API de JQuery .

Si desea conservar los datos, como los manejadores de eventos, por ejemplo, debe usar

.detach()

como se describe en la documentación de separación API de JQuery .

El método .remove () podría ser útil para propósitos similares.


Puedes usar .empty() , así:

$("#foo").empty();

.empty() :

Elimine todos los nodos secundarios del conjunto de elementos coincidentes del DOM.