Javascript 检查不包括空格的div的长度

Javascript 检查不包括空格的div的长度,javascript,jquery,Javascript,Jquery,我有以下代码来检测某个div中是否有内容: if ($(".bio").html().length > 0) { $('.author-info').hide(); } 我遇到的问题是,在某些情况下,.bio字段中可能有空格。我想检查长度,不包括空格。换句话说,检查div是否有内容,但空格不算作内容 我该怎么做 注意:我使用的是jQuery 2.1.1 您可以添加另一个条件来检查是否存在这样的空间: if (($(".bio").html().length > 0)&

我有以下代码来检测某个div中是否有内容:

if ($(".bio").html().length > 0) {
   $('.author-info').hide();
} 
我遇到的问题是,在某些情况下,
.bio
字段中可能有空格。我想检查长度,不包括空格。换句话说,检查div是否有内容,但空格不算作内容

我该怎么做


注意:我使用的是jQuery 2.1.1

您可以添加另一个条件来检查是否存在这样的空间:

if (($(".bio").html().length > 0)&&($(".bio").text()!=" ")) 
{
   $('.author-info').hide();
} 

可以删除所有空格并检查结果的长度:

$(".bio").text().replace(/ /g, '').length > 0
我们还可以更一般地使用
\s
选择所有空白:

$(函数(){
$(“.bio”)。每个(函数(){
如果($(this).text().replace(/\s/g',).length>0){
$(此)。在(”

参见

作为@abl和@Purag的好答案的替代方案,您还可以手动循环文本,查找非空格字符:

var bioContent = $(".bio").html();
var hasContent = false;
var characterToIgnore = ' ';

for (var i=0;i<bioContent.length;i++){
    if (bioContent[i] != characterToIgnore){
        hasContent = true;
        break;
    }
}
var bioContent=$(“.bio”).html();
var hasContent=false;
变量characterToIgnore='';

对于(var i=0;i可能是@apaul34208的重复项-虽然我可以从这个问题中收集到答案,但不确定它是否是完全重复项。为什么要进行向下投票?如果进行向下投票,请留下评论。$(“.bio”).text()!=”)仅在“bio”元素中正好有一个空格时才起作用,因此如果有多个空格,则不起作用。
var bioContent = $(".bio").html();
var hasContent = false;
var characterToIgnore = ' ';

for (var i=0;i<bioContent.length;i++){
    if (bioContent[i] != characterToIgnore){
        hasContent = true;
        break;
    }
}