-3

我有一些嵌套在 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>
4

4 回答 4

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();

希望这会有所帮助..

于 2013-06-13T06:50:57.537 回答
2

尝试

$('.extra').filter(function(){
    var text = $.trim($(this).find('table').text());
    return text == '' || text == '-';
}).remove()

演示:小提琴

于 2013-06-13T06:56:02.200 回答
0

尝试这个:

$(".extra").find("table").each(function(){  
   if( $.trim($(this).find("tr td").text()) == "" || $.trim($(this).find("tr td").text()) == "-" )
      {
        $(this).parents(".extra:first").remove();
      }

});
于 2013-06-13T09:35:26.103 回答
0

试试这个方法

您可以使用$('#yourdivid').text()获取 div 的值,与您想要的值进行比较,并使用以下方法删除 div。

var rdiv = document.getElementById('yourdivid');
    rdiv.parentNode.removeChild( rdiv );
于 2013-06-13T06:42:12.830 回答