IE浏览器兼容模式下不支持trim()
2015-11-03 15:43
288 查看
今天遇到了这个问题,在网上搜了搜,感觉这篇文章不错,就转载过来了,谢谢原文作者!
在使用jquery中的确trim属性时,:$(‘input[type=\'text\']:eq(0)‘).val().trim() ,在ie7/8报错:对象不支持“trim”属性或方法,下面我来给大家介绍一下解决办法。
解决方法:
方法1:
使用jquery里面的全局函数$.trim()代替原生js方法trim():$.trim($("input[type='text']:eq(0)").val().trim());
方法2:
使用原生js来扩展String方法
1.写成类的方法:[ 调用格式: str.trim(); ]
例子
解决方法二
写成函数:[ 调用格式: trim(str) ]
实例
在使用jquery中的确trim属性时,:$(‘input[type=\'text\']:eq(0)‘).val().trim() ,在ie7/8报错:对象不支持“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> |
代码如下 | 复制代码 |
<input id="demo" type="" value=" 左右有空格 " /> <a href="javascript:;" <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, ''); }); } //测试调用方法: trim() document.getElementById("demo").select(); var str=document.getElementById("demo").value; function test(){ document.getElementById("demo").value=str.trim(); //可换成str.ltrim() 或 str.rtrim() document.getElementById("demo").select(); } </script> |
写成函数:[ 调用格式: 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> |
代码如下 | 复制代码 |
<input id="demo" type="" value=" 左右有空格 " /> <a href="javascript:;" <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,""); } //测试调用方法: trim() document.getElementById("demo").select(); var str=document.getElementById("demo").value; function test(){ document.getElementById("demo").value=trim(str); //可换成str.ltrim() 或 str.rtrim() document.getElementById("demo").select(); } </script> |
相关文章推荐
- Intent和IntentFilter区别
- 新建android项目,找不到样式“textViewStyle”,无法生成R.java文件
- 机器学习(5)——决策树(下)算法实现
- C字符串转JNI字符串
- JAVA中int、String的类型转换
- 关于代码分层的理解
- 关于zepto没有scrollTop事件
- 利用有限自动机进行字符串匹配
- 文本属性Attributes
- 摩托罗拉对讲机调试
- 我的记事本项目之路(二)
- ajax介绍
- SQL中MAX()和MIN()函数的使用
- C中^和Java中^的不同
- 自定义配置文件读取
- 周边公交站台接口 查询附近的公交站台
- 两种方法基于jQuery实现IE浏览器兼容placeholder效果【转】
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
- Disk Space Usage (sp_spaceused)
- 有人认为,“中文编程”是解决中国程序员编程效率的秘密武器,请问它是一个“银弹”么?