我有一个在Chrome中运行良好的单行功能,FF用于缩短字符串但在IE中引发异常。有谁知道IE的解决方法?
这是我的代码:
var name = 'This is a really loooooooooooong string';
var shortName = name.trim().substring(0, 10).split(" ").slice(0, -1).join(" ") + "...";
alert(shortName );
谢谢, -Paul
答案 0 :(得分:10)
trim
在ECMAScript 262第5版中已标准化,因此它应该在IE 9中可用。对于IE 8及更早版本,有几种解决方案可供您使用。
由于您标记了jQuery,因此可以使用$.trim(str)
:
$.trim(name).substring(0, 10).split(" ").slice(0, -1).join(" ") + "...";
或者,您可以使用垫片实现String#trim
,如下所示:
if(!String.prototype.trim) {
String.prototype.trim = function () {
return this.replace(/^\s+/,'').replace(/\s+$/, '');
};
}
在不同的trim
实施available at Steven Levithan's blog上也有不错的比较。
答案 1 :(得分:1)
您可以使用jQuery.trim()
答案 2 :(得分:0)
这个在IE,Firefox,Chrome中完美运行:
String.prototype.trim = function () {
return this.replace(/^\s+/, "").replace(/\s+$/, "");
}
优于jQuery的优势在于它扩展了String原型,您无需调整任何代码。
编辑:根据AndyEs评论进行调整