如何在javascript中向字符串添加占位符

时间:2011-10-18 14:51:53

标签: javascript string

我希望能够像这样轻松地为字符串设置默认占位符

someString.placeholder("waiting for text") 

可以像这样使用......

$("p.some-class").html( someString.placeholder("waiting for text") );

因此,如果'someString'为空,则用户会看到“Waiting for text”,但如果该字符串的长度大于0,则会看到实际的字符串。

我试图像这样扩展String对象

String.prototype.placeholder = function(placeholder){

    return (this.length > 0) ? 
    this : 
    "<span class=\"placeholder-string\">" + placeholder + "</span>";

}

但这似乎不起作用。有什么想法吗?

对于任何有兴趣的人来说,这是一个JSFiddle

1 个答案:

答案 0 :(得分:1)

this似乎是String对象,而不是原始版本。你必须将它转换成原语。您也可以取消> 0

String.prototype.placeholder = function(placeholder){

    return this.length ? 
    this + "" : 
    "<span class=\"placeholder-string\">" + placeholder + "</span>";

}