我试图.trim()
在我的一个 JavaScript 程序中应用到一个字符串。它在 Mozilla 下运行良好,但在 IE8 中尝试时显示错误。有谁知道这里发生了什么?无论如何我可以让它在IE中工作吗?
代码:
var ID = document.getElementByID('rep_id').value.trim();
错误显示:
消息:对象不支持此属性或方法 线路:604 字符:2 代码:0 URI:http://test.localhost/test.js
我试图.trim()
在我的一个 JavaScript 程序中应用到一个字符串。它在 Mozilla 下运行良好,但在 IE8 中尝试时显示错误。有谁知道这里发生了什么?无论如何我可以让它在IE中工作吗?
var ID = document.getElementByID('rep_id').value.trim();
消息:对象不支持此属性或方法 线路:604 字符:2 代码:0 URI:http://test.localhost/test.js
添加以下代码以向字符串添加修剪功能。
if(typeof String.prototype.trim !== 'function') {
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, '');
}
}
看起来该功能未在 IE 中实现。如果您使用的是 jQuery,则可以$.trim()
改用 ( http://api.jquery.com/jQuery.trim/ )。
jQuery:
$.trim( $("#mycomment").val() );
有人使用,$("#mycomment").val().trim();
但这不适用于 IE。
不幸的是,trim() 没有跨浏览器的 JavaScript 支持。
如果您不使用 jQuery(它有一个 .trim() 方法),您可以使用以下方法为字符串添加修剪支持:
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
return this.replace(/\s+$/,"");
}
https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Global_Objects/String/Trim
这是对 javascript 的一个相当新的补充,IE 不支持它。