每当我在字符串上使用trim()
函数时,它适用于Chrome和Firefox,但我在IE8中收到错误说:
Object不支持此属性或方法
任何人都可以告诉我为什么会这样,如果有解决方法吗?
答案 0 :(得分:82)
IE8不支持修剪功能。 这是一个polyfill:
if(typeof String.prototype.trim !== 'function') {
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, '');
};
}
答案 1 :(得分:39)
如果你想要你可以添加jquery并使用$ .trim(....)这将工作..
$.trim(" hello ");
给你
"hello"
答案 2 :(得分:2)
Internet Explorer仅从版本9开始支持trim()
。
作为参考,MDN Polyfill for String.prototype.trim()
是:
if (!String.prototype.trim) {
(function() {
// Make sure we trim BOM and NBSP
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
String.prototype.trim = function() {
return this.replace(rtrim, '');
};
})();
}
并且support为:
+--------+---------+----+-------+--------+
| Chrome | Firefox | IE | Opera | Safari |
+--------+---------+----+-------+--------+
| All | 3.5 | 9 | 10.5 | 5 |
+--------+---------+----+-------+--------+
答案 3 :(得分:0)
因为我在@nemo和@ karesh-a的帮助下使用了jQuery,我想出了:
if(typeof String.prototype.trim !== 'function') {
String.prototype.trim = function(){
return jQuery.trim( this );
}
}