我有一个 div<div id="masterdiv">
有几个 child <div>
。
例子:
<div id="masterdiv">
<div id="childdiv1" />
<div id="childdiv2" />
<div id="childdiv3" />
</div>
如何使用jQuery清除<div>
master内部所有child的内容?<div>
我有一个 div<div id="masterdiv">
有几个 child <div>
。
例子:
<div id="masterdiv">
<div id="childdiv1" />
<div id="childdiv2" />
<div id="childdiv3" />
</div>
如何使用jQuery清除<div>
master内部所有child的内容?<div>
jQuery 的empty()
函数就是这样做的:
$('#masterdiv').empty();
清除主人div
。
$('#masterdiv div').empty();
清除所有 child div
,但保持 master 完好无损。
jQuery('#masterdiv div').html('');
使用 jQuery 的 CSS 选择器语法选择div
id 元素内的所有元素masterdiv
。然后调用empty()
清除内容。
$('#masterdiv div').empty();
使用text('')
orhtml('')
会导致一些字符串解析发生,这在使用 DOM 时通常是一个坏主意。尽可能尝试使用不涉及 DOM 对象的字符串表示的 DOM 操作方法。
我知道这是一个jQuery
相关的问题,但我相信有人可能会期待一个纯粹的Javascript
解决方案。因此,如果您尝试使用 来执行此操作js
,则可以使用该innerHTML
属性并将其设置为空字符串。
document.getElementById('masterdiv').innerHTML = '';
jQuery 推荐你使用 ".empty()",".remove()",".detach()"
如果您需要删除元素中的所有元素,请使用以下代码:
$('#target_id').empty();
如果您需要删除所有元素,请使用以下代码:
$('#target_id').remove();
我和 jQuery 组不建议使用.html() .attr() .text() 之类的SET FUNCTION,那是什么?如果你想设置你需要的任何东西
参考:https ://learn.jquery.com/using-jquery-core/manipulating-elements/
如果需要清除该 masterdiv 中的所有 div,则为 this。
$('#masterdiv div').html('');
否则,您需要迭代 #masterdiv 的所有 div 子级,并检查 id 是否以 childdiv 开头。
$('#masterdiv div').each(
function(element){
if(element.attr('id').substr(0, 8) == "childdiv")
{
element.html('');
}
}
);
更好的方法是:
$( ".masterdiv" ).empty();
$("#masterdiv div").text("");
$("#masterdiv > *").text("")
或者
$("#masterdiv").children().text("")
$('#div_id').empty();
或者
$('.div_class').empty();
可以很好地删除 div 内的内容
您可以使用 .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/
当您使用任何服务或数据库通过 id 将数据附加到 div 时,首先尝试将其清空,如下所示:
var json = jsonParse(data.d);
$('#divname').empty();
$("#masterdiv div[id^='childdiv']").each(function(el){$(el).empty();});
或者
$("#masterdiv").find("div[id^='childdiv']").each(function(el){$(el).empty();});
如果有帮助,请尝试它们。
$('.div_parent .div_child').empty();
$('#div_parent #div_child').empty();