2011-08-31 55 views
2

我需要刪除空的上行線路及包含空的UL那些LIS,所以我使用這個腳本刪除空的UL

$("ul").each(function() { 
      var elem = $(this); 
      if (elem.children().length == 0) { 
       elem.parent().remove(); 
      } 
     } 
    ); 

乳寧腳本後可能發生的是,我得到空的UL結果,所以我需要再次運行腳本。我可以以某種方式循環它直到所有空的UL被刪除?

回答

0

也許我不完全明白你的問題,但如果你需要重新運行該命令,你可以創建一個功能:只要你想

var clearUls = function(){ 
    $("ul").each(function() { 
      var elem = $(this); 
      if (elem.children().length == 0) { 
       elem.parent().remove(); 
      } 
     } 
    ); 
} 

然後你就可以調用它多次。

1

我認爲這應該爲你工作:

while($('ul:empty, li:empty').length) { 
    $('ul:empty, li:empty').remove(); 
}  

JsBin Example