如果跨度为空,则在跨度内显示文本

时间:2015-08-20 04:52:36

标签: javascript jquery html

如果它是空的,我想在span中添加一些文本。

以下范围包含文本,因此它不应执行任何操作。

<span class="content">This span has text so do nothing</span>

下面的范围不包含任何文字,所以我希望Javascript自动为我添加文字,我希望它显示“公共”。

<span class="content"></span>

所以上面例子的最终结果将是

<span class="content">Public</span>

4 个答案:

答案 0 :(得分:2)

您可以尝试:empty选择器

例如

$("span.content:empty")
  .text("Public")

答案 1 :(得分:1)

您可以将 html() text() 与回调功能结合使用

&#13;
&#13;
$('span.content').html(function(i, v) {
  return v.trim() == '' ? 'public' : v;
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<span class="content">This span has text so do nothing</span>
<span class="content"></span>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

使用Pure JavaScript:

   function myFunction() { 

    var x = document.getElementsByClassName("content"); 
    for(i=0;i<x.length;i++)
    {
if(x[i].innerHTML=="")
    {
    x[i].innerHTML = "Public"; 
    }
    }

}

这是小提琴: http://jsfiddle.net/7fet87rb/

答案 3 :(得分:0)

中的

$span = $(".span");
if($span.text() == ""){
    $span.text("Public");
}

在这里您可以看到示例 - JSFIDDLE - http://jsfiddle.net/3vcL2e97/