我尝试将.trim()应用于我的一个JavaScript程序中的字符串 . 它在Mozilla下工作正常,但是当我在IE8中尝试它时会显示错误 . 有谁知道这里发生了什么?无论如何我可以在IE中使用吗?
代码:
var ID = document.getElementByID('rep_id').value.trim();
错误显示:
Message: Object doesn't support this property or method
Line: 604
Char: 2
Code: 0
URI: http://test.localhost/test.js
14 回答
jQuery的:
有人使用
$("#mycomment").val().trim();
但这不适用于IE .添加以下代码以向字符串添加修剪功能 .
看起来这个函数不是使用jQuery,你可以使用
$.trim()
(http://api.jquery.com/jQuery.trim/) .遗憾的是,trim()没有跨浏览器JavaScript支持 .
如果您不使用jQuery(具有.trim()方法),则可以使用以下方法为字符串添加修剪支持:
https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Global_Objects/String/Trim
这是javascript的最新补充,IE不支持 .
当我尝试从输入中修剪一个值然后询问它是否等于什么时,我遇到了类似的问题:
然而,这为IE6 - 8投入了一个扳手 . 令人讨厌的是,我试图将其变为如此:
但是,使用jQuery的trim方法,适用于所有浏览器 .
我编写了一些代码来实现修剪功能 .
LTRIM (左侧修剪):
RTRIM (修剪右):
TRIM (两侧修剪):
OR
我们也可以使用正则表达式 .
Useful Explanation
我们可以从互联网上获取官方代码!请参考:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim
更多:我刚刚发现有支持EcmaScript 5的js项目:https://github.com/es-shims/es5-shim通过阅读源代码,我们可以获得更多关于修剪的知识 .
我不是't think there'是JavaScript标准中的原生
trim()
方法 . 也许Mozilla提供一个,但如果你想在IE中使用一个,你需要自己编写 . this page上有几个版本 .我在IE9中遇到了同样的问题但是当我在第一行之前声明支持的html版本时带有以下标记
问题解决了 .
刚刚发现IE停止支持
trim()
,可能是在最近的Windows更新之后 . 如果你使用dojo,你可以使用dojo.string.trim()
,它可以跨平台工作 .此问题可能是由IE在Intranet站点上使用兼容模式引起的 . 有两种方法可以解决此问题,您可以将IE更新为不在本地计算机上使用兼容模式(在IE11中:工具 - >兼容性视图设置 - >取消选中在兼容性视图中显示Intranet站点)
更好的是,您可以更新网页中的元标记 . 加入:
这是什么意思?它告诉IE使用最新的兼容模式 . 更多信息请参见MSDN: Specifying legacy document modes
这是因为拼写错误getElementBy ID . 将其更改为getElementById