如何隐藏不包含文本的 DOM 元素?

How can I hide a DOM element that contains no text?

我想知道如何在 JavaScript 中隐藏不包含任何文本的 DOM 元素,例如:

<ul>
  <li>Text</li>
  <li>Text</li>
  <li>Text</li>
  <li>Text</li>
  <li>Text</li>
  <li>Text</li>
  <li></li> <!-- Element to hide -->
</ul>

我目前写过:

var point = document.getElementsByTagName("li");
for(var i = 0; i < point.length; i++){
   if(point[i].text==""){
      point[i].style.display = "none";
   }
}

谢谢!

使用 innerHTML 属性 并先删除空格,然后再对其进行检查。

 if(!/[\S]/.test(point[i].innerHTML)) { 
    point[i].style.display = "none";
 }

你为什么不使用 jQuery 呢,它会消除浏览器的差异:

$('li').each(function (){
    if($(this).html()==="") {
        $(this).css({"display":"none"});   
    }
});