我有以下 HTML:
<div id="rightCon">
</div>
然后我在顶部有以下脚本:
$('#rightCon:empty').hide();
为什么div不隐藏?我可以看到有一些空间(我无法摆脱)但这真的很重要吗?当它只有空格时,如何删除/隐藏这个 div?
我有以下 HTML:
<div id="rightCon">
</div>
然后我在顶部有以下脚本:
$('#rightCon:empty').hide();
为什么div不隐藏?我可以看到有一些空间(我无法摆脱)但这真的很重要吗?当它只有空格时,如何删除/隐藏这个 div?
您的元素似乎有一堆空白,这将给它一个文本节点。:empty
由于这个原因,它不会被匹配。
您可以尝试查找元素并明确检查其内容:
$('#rightCon').filter(function() {
var text = $(this).text().replace(/\s*/g, '');
return !text;
}).hide();
这解决了问题。
$(document).ready(function () {
if($('#rightCon').text().trim().length < 1)
{$('#rightCon').hide();}
});
您的 div 实际上不是empty
(它包含空格)。所以选择器$("#rightCon:empty")
永远不会评估和隐藏div
.
由于HTML
元素应该是唯一的,您可以放心地假设您可以通过以下方式选择正确的元素:
var rightCon = $("#rightCon");
然后,您可以通过以下方式隐藏元素:
right.hide();
或者
$("#rightCon").hide();