ie7/8报错:对象不支持“trim”属性或方法

问题:$("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){ //删除右边的空格

    &nbs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值