我想知道如果它不包含任何文本,如何在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";
}
}
谢谢!
答案 0 :(得分:1)
为什么不使用jQuery,它会消除浏览器差异:
$('li').each(function (){
if($(this).html()==="") {
$(this).css({"display":"none"});
}
});
答案 1 :(得分:0)
使用innerHTML
属性并在对其进行检查之前先删除空格。
if(!/[\S]/.test(point[i].innerHTML)) {
point[i].style.display = "none";
}