问题:$("input[type='text']:eq(0)").val().trim() ,ie7/8报错:对象不支持“trim”属性或方法
解析:trim()方法是原生的js方法,高级浏览器中已经默认支持 trim() ,但ie6、7、8都不支持这个新加的方法,所以ie8及以前的版本会报“对象不支持“trim”属性或方法”。
解决方法:
方法1:
使用jquery里面的全局函数$.trim()代替原生js方法trim():
$.trim($("input[type='text']:eq(0)").val().trim());
方法2:
使用原生js来扩展String方法
1.写成类的方法:[ 调用格式: str.trim(); ]
<script type="text/javascript">
Function.prototype.method = function(name, func) {
this.prototype[name] = func;
return this;
};
if(String.prototype.trim){ //判断下浏览器是否自带有trim()方法
String.method('trim', function() {
return this.replace(/^\s+|\s+$/g, '');
});
String.method('ltrim', function() {
return this.replace(/^\s+/g, '');
});
String.method('rtrim', function() {
return this.replace(/\s+$/g, '');
});
}
</script>
可运行的参照实例:
提示:你可以先修改部分代码再运行。
2.写成函数:[ 调用格式: trim(str) ]
<script type="text/javascript">
function trim(str){ //删除左右两端的空格
return str.replace(/(^\s*)|(\s*$)/g, "");
}
function ltrim(str){ //删除左边的空格
return str.replace(/(^\s*)/g,"");
}
function rtrim(str){ //删除右边的空格
return str.replace(/(\s*$)/g,"");
}
</script>
可运行的参照实例:
提示:你可以先修改部分代码再运行。
1条评论( 网友:1 条,站长:0 条 ) 网友评论{有您的评论更精彩....}