修剪不在IE中工作?

时间:2011-12-14 14:41:46

标签: javascript jquery

我有一个在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

3 个答案:

答案 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评论进行调整