javascript - obtener - ¿Cómo borrar todos los contenidos de<div> s ''dentro de un<div> principal?
obtener contenido de un div javascript (12)
Tengo un div <div id="masterdiv">
que tiene varios hijos <div>
s.
Ejemplo:
<div id="masterdiv">
<div id="childdiv1" />
<div id="childdiv2" />
<div id="childdiv3" />
</div>
¿Cómo borrar el contenido de todos los hijos <div>
dentro del master <div>
usando jQuery?
Cuando agregue datos en div por ID utilizando cualquier servicio o base de datos, primero intente vaciarlo, de esta forma:
var json = jsonParse(data.d);
$(''#divname'').empty();
La función empty()
jQuery hace precisamente eso:
$(''#masterdiv'').empty();
despeja el master div
.
$(''#masterdiv div'').empty();
borra todas las div
del niño, pero deja el maestro intacto.
Puede usar la función .empty () para borrar todos los elementos secundarios
$(document).ready(function () {
$("#button").click(function () {
//only the content inside of the element will be deleted
$("#masterdiv").empty();
});
});
Para ver la comparación entre jquery .empty (), .hide (), .remove () y .detach () siga aquí http://www.voidtricks.com/jquery-empty-hide-remove-detach/
Si todos los divs dentro de ese masterdiv necesitan ser borrados, esto es.
$(''#masterdiv div'').html('''');
de lo contrario, debe iterar en todos los div divinos de #masterdiv y verificar si la identificación comienza con childdiv.
$(''#masterdiv div'').each(
function(element){
if(element.attr(''id'').substr(0, 8) == "childdiv")
{
element.html('''');
}
}
);
Use la sintaxis del selector CSS de jQuery para seleccionar todos los elementos div
dentro del elemento con id masterdiv
. Luego llame a api.jquery.com/empty para borrar los contenidos.
$(''#masterdiv div'').empty();
El uso de text('''')
o html('''')
hará que se realicen algunos análisis de cadenas, lo que generalmente es una mala idea cuando se trabaja con el DOM. Intente y use métodos de manipulación de DOM que no impliquen representaciones de cadena de objetos DOM siempre que sea posible.
jQuery recomienda que uses ".empty ()", ". remove ()", ". detach ()"
Si necesitabas eliminar todo el elemento en el elemento, usa este código:
$(''#target_id'').empty();
si necesitas eliminar todo elemento, puede utilizar este código:
$(''#target_id'').remove();
i y jQuery group no recomiendan el uso de SET FUNCTION como .html () .attr () .text (), ¿qué es eso? Es SI QUIERES CONFIGURAR LO QUE NECESITAS
ref: https://learn.jquery.com/using-jquery-core/manipulating-elements/
La mejor manera es:
$( ".masterdiv" ).empty();
$("#masterdiv > *").text("")
o
$("#masterdiv").children().text("")
$("#masterdiv div").text("");
$("#masterdiv div[id^=''childdiv'']").each(function(el){$(el).empty();});
o
$("#masterdiv").find("div[id^=''childdiv'']").each(function(el){$(el).empty();});
$(''#div_id'').empty();
o
$(''.div_class'').empty();
Funciona bien para eliminar contenidos dentro de un div.
jQuery(''#masterdiv div'').html('''');