jQuery.html()在IE中出现乱码
jQuery.html() being garbled in IE
我使用jQuery("#shipdata").html()
函数来获取元素的html内容,该元素应该返回日期字符串,例如'5/14/2014'。它在Chrome、Firefox和Safari上都能完美运行。但是在ie浏览器中,它返回一些奇怪的东西:
我试图提醒返回字符串的长度,它说"14",应该是"9"。
我也试着提醒每个字符的键码,发现键码"8206"不仅在字符串的开头,而且在字符"/"之前和之后。
如何去掉这些乱码?
字符8206,或'u200E
,它是"从左到右标记"字符。它主要用于双向文本中,表示"这部分"应该从左到右。
根据语言环境的不同,IE可能会插入这些标记以确保正确呈现日期。例如,如果您在一台设置为从右向左语言的计算机上,那么它可能会使用这些标记来帮助呈现。
虽然我不知道是什么原因造成的,但您可能应该对输入进行消毒,例如在空格的情况下。
<div id="shipdata">
5/12/2014
</div>
上面的也会导致你的代码失败。那么,试试这个:
jQuery('#shipdata').html().replace(/[^0-9'/]/g,'');
通过使用一小段jquery代码,您可以实现这个结果。检查演示。
jquery代码
alert($("#shipdata").html());
alert($("#shipdata").html().length);
<div id="shipdata">5/12/2014</div>
相关文章:
- HTML表单在IE中不起作用
- .html() 方法的 jQuery 在 IE 9 中无法正常工作
- 用jQuery.html更新span内部html在IE中不起作用
- JQuery-HTML到PDF没有'无法在IE中工作(来自C#asmx Web服务)
- 在 Java 中使用 IE/Chrome HTML 渲染器或使用 JavaScript 存储文件
- IE 不接受某些 html 标记
- 在插入符号 (IE) 处将 HTML 插入 iFrame 中
- 不能让CKEditor插入HTML在IE 8上运行
- html下拉菜单在Firefox中不起作用,并且在旧版本的IE中一切都是错误的
- html 选择列表更改无法在谷歌浏览器上调用方法(适用于 IE)
- 如何在 IE 11 中动态地将 flash-object 添加到 html
- 如何在 IE 上的对象中显示远程 html
- 解析 Ajax 在 IE 中加载的 HTML 内容
- 使用 IE 捕获 HTML 内容
- IE在通过Javascript向DOM添加大量HTML时太慢
- 保留粘贴到 IE 中的 HTML 片段的条件注释
- input type=“password” 在 IE 11 上使用 HTML 5 显示文本
- 当涉及到内部HTML操作时,我如何绕过IE的“限制”
- 我如何制作一个";否则";在IE HTML条件中
- IE:HTML选择与巨大的选项需要大量的时间加载