每当我使用trim()
函数的字符串,它正常工作与Chrome和Firefox,但我在IE8说得到一个错误:
对象不支持此属性或方法
谁能告诉我,为什么出现这种情况,如果有一个变通?
每当我使用trim()
函数的字符串,它正常工作与Chrome和Firefox,但我在IE8说得到一个错误:
对象不支持此属性或方法
谁能告诉我,为什么出现这种情况,如果有一个变通?
IE8不支持微调功能。 这里有一个填充工具:
if(typeof String.prototype.trim !== 'function') {
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, '');
};
}
如果你愿意,你可以添加jQuery和使用$ .trim(....),这将工作..
$.trim(" hello ");
给你
"hello"
互联网浏览器才开始支持trim()
从9版本。
作为参考, MDN填充工具用于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, '');
};
})();
}
并且支持它是:
+--------+---------+----+-------+--------+
| Chrome | Firefox | IE | Opera | Safari |
+--------+---------+----+-------+--------+
| All | 3.5 | 9 | 10.5 | 5 |
+--------+---------+----+-------+--------+
因为,我是使用jQuery,与@nemo和@ karesh-A的帮助下,我想出了:
if(typeof String.prototype.trim !== 'function') {
String.prototype.trim = function(){
return jQuery.trim( this );
}
}