我正在使用 jQuery("#shipdata").html()
函数来获取元素的 html 内容,它应该返回一个日期字符串,例如 '5/14/2014' .它在 Chrome、Firefox 和 Safari 中完美运行。但是在 Internet Explorer 中,它会返回一些奇怪的东西:
我试图提醒返回字符串的长度,它显示“14”,应该是“9”。
我也试过提示每个字符的keycode,发现不仅在字符串的开头,而且在字符'/'之前和之后都添加了“8206”的keycode。
如何去掉那些乱码?
最佳答案
字符 8206,或 \u200E
,它是“从左到右的标记”字符。它主要用于双向文本,表示“这部分”应该是从左到右的。
根据语言环境,IE 可能会插入这些标记以确保正确呈现日期。例如,如果您使用的计算机设置为从右到左的语言,则它可能会使用这些标记来协助呈现。
虽然我不知道是什么原因造成的,但无论如何您都应该清理输入,例如在空格的情况下。
<div id="shipdata">
5/12/2014
</div>
以上内容也会导致您的代码失败。所以,试试这个:
jQuery('#shipdata').html().replace(/[^0-9\/]/g,'');
关于javascript - jQuery.html() 在 IE 中出现乱码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23566069/