我有一个div <div id="masterdiv">,它有几个子<div>s。
例子:
<div id="masterdiv">
<div id="childdiv1" />
<div id="childdiv2" />
<div id="childdiv3" />
</div>
如何使用jQuery清除所有子<div>的内容里面的主<div> ?
我有一个div <div id="masterdiv">,它有几个子<div>s。
例子:
<div id="masterdiv">
<div id="childdiv1" />
<div id="childdiv2" />
<div id="childdiv3" />
</div>
如何使用jQuery清除所有子<div>的内容里面的主<div> ?
当前回答
使用jQuery的CSS选择器语法选择id为masterdiv的元素中的所有div元素。然后调用empty()来清除内容。
$('#masterdiv div').empty();
使用text(")或html(")将导致进行一些字符串解析,在使用DOM时,这通常是一个坏主意。尽可能尝试使用不涉及DOM对象的字符串表示的DOM操作方法。
其他回答
我知道这是一个与jQuery相关的问题,但我相信有些人可能会期待一个纯Javascript的解决方案。所以,如果你试图使用js来做这件事,你可以使用innerHTML属性并将其设置为空字符串。
document.getElementById('masterdiv').innerHTML = '';
可以使用.empty()函数清除所有子元素
$(document).ready(function () {
$("#button").click(function () {
//only the content inside of the element will be deleted
$("#masterdiv").empty();
});
});
要查看jquery .empty(), .hide(), .remove()和.detach()之间的比较,请访问http://www.voidtricks.com/jquery-empty-hide-remove-detach/
jQuery('#masterdiv div').html('');
$("#masterdiv div").text("");
$("#masterdiv > *").text("")
or
$("#masterdiv").children().text("")