我希望能够像这样轻松地为字符串设置默认占位符
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。
答案 0 :(得分:1)
this
似乎是String
对象,而不是原始版本。你必须将它转换成原语。您也可以取消> 0
:
String.prototype.placeholder = function(placeholder){
return this.length ?
this + "" :
"<span class=\"placeholder-string\">" + placeholder + "</span>";
}