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

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


我遇到的问题是在某些情况下.bio字段中可能有空格。我想检查长度(不包括空格)。换句话说,检查div是否具有内容,但空格不算作内容。

我该怎么做呢?

注意:我使用的是jQuery 2.1.1。

最佳答案

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

$(".bio").text().replace(/ /g, '').length > 0


我们也可以更通用一些,并用\s选择所有空格:



$(function(){
  $(".bio").each(function(){
    if( $(this).text().replace(/\s/g, '').length > 0 ){
      $(this).after("<- Has text");
    } else {
      $(this).after("<- Just spaces");
    }
  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="bio">Text with spaces</span>
<br>
<span class="bio">&nbsp;&nbsp; &nbsp;</span>

关于javascript - 检查div的长度(不包括空格),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27368081/

10-16 19:46