我有一些嵌套在div中的表,其中一些是空的,或者包含一个空格,或者包含单个字符,如" - ",我称之为 EMPTY DIVs 。如何在加载文档时使用JavaScript删除上面描述的 EMPTY DIV ?
部分 EMPTY DIV 就像这样
<div class="extra">
<table>
<tr>
<td></td>
</tr>
</table>
</div>
或
<div class="extra">
<table>
<tr>
<td>-</td>
</tr>
</table>
</div>
答案 0 :(得分:3)
试试这个
var $emptyDivs = $();
$('div table').each( function(){
// getting table text, replaced with space
var c = $(this).text().replace(/\s/g,'');
// add condition for empty check
if ( c =='' || c == '-'){
// add parent div
$emptyDivs.push( $(this).closest('div')[0] );
}
});
// remove empty div
$emptyDivs.remove();
希望这会有所帮助..
答案 1 :(得分:2)
尝试
$('.extra').filter(function(){
var text = $.trim($(this).find('table').text());
return text == '' || text == '-';
}).remove()
演示:Fiddle
答案 2 :(得分:0)
试试这种方式,
您可以使用$('#yourdivid').text()
获取div的值,与您想要的值进行比较,并使用以下方法删除div。
var rdiv = document.getElementById('yourdivid');
rdiv.parentNode.removeChild( rdiv );
答案 3 :(得分:0)
试试这个:
$(".extra").find("table").each(function(){
if( $.trim($(this).find("tr td").text()) == "" || $.trim($(this).find("tr td").text()) == "-" )
{
$(this).parents(".extra:first").remove();
}
});