我有一个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的CSS选择器语法选择id为masterdiv的元素中的所有div元素。然后调用empty()来清除内容。
$('#masterdiv div').empty();
使用text(")或html(")将导致进行一些字符串解析,在使用DOM时,这通常是一个坏主意。尽可能尝试使用不涉及DOM对象的字符串表示的DOM操作方法。
jQuery的empty()函数就是这样做的:
$('#masterdiv').empty();
清除主div。
$('#masterdiv div').empty();
清除所有子div,但保留主div完整。
如果masterdiv中的所有div都需要被清除,它是这样的。
$('#masterdiv div').html('');
否则,您需要迭代#masterdiv的所有子div,并检查id是否以childdiv开头。
$('#masterdiv div').each(
function(element){
if(element.attr('id').substr(0, 8) == "childdiv")
{
element.html('');
}
}
);
当你使用任何服务或数据库通过id将数据追加到div中时,首先尝试它是空的,就像这样:
var json = jsonParse(data.d);
$('#divname').empty();
$("#masterdiv div[id^='childdiv']").each(function(el){$(el).empty();});
or
$("#masterdiv").find("div[id^='childdiv']").each(function(el){$(el).empty();});