2010-04-15 17 views
42

Estoy tratando de borrar el HHTML interno del div antes de repoblarlo. Intenté eliminarData() pero una vez que se llama, cuando trato de agregar los datos, no obtengo nada de la siguiente línea después de eliminar, pero si elimino removeData() vuelve a estar bien. Solo quiero borrar cualquier contenido anterior en ese div antes de volver a poblarlo.Quitar innerHTML de div

divToUpdate.removeData(); //clean out any existing innerHTML div content first 
    divToUpdate.html(data); 

que parece que nunca llega a mi divToUpdate.html (datos) por alguna razón después de que las llamadas que REMOVEDATA();

+0

¿Cuál es el evento que causa esto? ¿Un clic o una respuesta Ajax? –

Respuesta

1

que debería ser capaz de simplemente sobrescribir utilizarlo sin perder los datos anteriores

3
divToUpdate.innerHTML =  ""; 
9
$('div').html(''); 

Pero ¿por qué estás limpiando, divToUpdate.html(data); reemplazarán por completo el viejo HTML.

+0

porque creo que el div en la página principal conserva el viejo innerHTML cada vez que cierro y vuelvo a abrir el diálogo de jQuery UI – PositiveGuy

+0

¿Cómo se sabe esto? ¿a qué te refieres que te dice que aparte de mirar el contenido div lo aclare? – PositiveGuy

+0

En la documentación de jQuery (http://api.jquery.com/html/) "Una cadena de HTML para establecer como el contenido de cada elemento coincidente". Interpreto el trabajo "establecer" para significar reemplazar. Para verificar esto, podría hacer algo como alert ($ ('div'). Html()) entre las dos líneas de código para verificar. –

21

Para eliminar todos los elementos secundarios de su div:

$('#mysweetdiv').empty(); 

.removeData() y la función .data() correspondientes se utilizan para unir los datos detrás de un elemento, dicen que si quería tener en cuenta que un elemento de la lista específica a que se refiere el ID de usuario 25 en su base de datos:

var $li = $('<li>Joe</li>').data('id', 25); 
+0

cómo seleccionar usando este li? – Omer

98

jQuery Data es un concepto diferente que HTML. removeData no es para eliminar contenido de elemento, es para eliminar elementos de datos que ha almacenado previamente.

Eso sí,

divToUpdate.html(""); 

o

divToUpdate.empty(); 
1

var $div = $('#desiredDiv'); 
$div.contents().remove(); 
$div.html('<p>This is new HTML.</p>'); 

que debería funcionar bien.