如何隐藏不包含文本的 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"});
}
});
我想知道如何在 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"});
}
});