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

标签 javascript html events dom

我想知道如何在 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";
   }
}

谢谢!

最佳答案

为什么不使用 jQuery 来实现这一点,它将消除浏览器差异:

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

关于javascript - 如何隐藏不包含文本的 DOM 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29134044/

相关文章:

javascript - document.getElementById.innerHTML 没有写任何内容..?

ios - IOS 中的 HTML 5 设计屏幕

python - tkinter 中有点击事件处理程序吗?

c# - 如何在c#中等待事件被处理

javascript - 将数组传递给 Javascript 函数

来自服务器和本地时间的 PHP 或 Javascript 日期和时间代码

javascript - 如何使用 native react 启用 Proguard?

php - 查询数据库到表时语法错误 ';'

javascript - 如何在页面重新加载时清除 HTML 表单,而不是在用户导航返回页面时清除?

javascript - 如何将 click 和 keydown 绑定(bind)到 Vanilla JavaScript 中的输入字段