1

此功能在部分 IE 浏览器中有效,但并非全部有效。IE 8 给我一个错误:

网页错误详情

用户代理:Mozilla/4.0(兼容;MSIE 8.0;Windows NT 5.1;Trident/4.0;GTB7.3;.NET CLR 1.1.4322;.NET CLR 2.0.50727;.NET CLR 3.0.4506.2152;.NET4.0C; .NET4.0E;MS-RTC LM 8) 时间戳:2012 年 4 月 25 日星期三 15:18:21 UTC

Message: Object doesn't support this property or method
Line: 9
Char: 17
Code: 0
URI: file:///G:/1.html

代码:

GetLink();

function GetLink() {
   selectedOption = "asdasdasd: asdasdas|asdadasd:asdadsasd|asdasdasd:asdasdad";
   ROOM = selectedOption.split("|")[0].trim().split(":")[1].trim();
   BUILDING = selectedOption.split("|")[1].trim().split(":")[1].trim();
   var ret = "room_chart.jsp?room=" + ROOM + "&building=" + BUILDING;
   return ret;
}
4

1 回答 1

6

split方法很好,就是这个trim问题。你可以使用MDN 的这个小 polyfill

if(!String.prototype.trim) {
  String.prototype.trim = function () {
    return this.replace(/^\s+|\s+$/g,'');
  };
}

String.prototype.trim在 IE < 9 中不可用。上面的代码片段只是将split方法添加到String.prototype它不存在的情况下,并且其行为与您期望的本机实现完全一样。

如果您使用的是 jQuery,则$.trim可以使用一种方法。

于 2012-04-25T15:24:41.680 回答