我正在使用jQuery("#shipdata").html()
函数来获取元素的html内容,该内容应返回日期字符串,例如' 5/14/2014'。它在Chrome,Firefox和Safari中完美运行。但在Internet Explorer中,它会返回一些奇怪的内容:
我试图提醒返回的字符串的长度,它说" 14",应该是" 9"。
此外,我试图提醒每个角色的键码,并发现" 8206"的键码不仅在字符串的开头添加,而且还在字符' /'之前和之后添加。
如何摆脱那些乱码?
答案 0 :(得分:3)
字符8206,或\u200E
,它是"从左到右的标记"字符。它主要用于双向文本以表示"这部分"应该是从左到右。
根据区域设置,IE可能会插入这些标记以确保正确呈现日期。例如,如果您使用的是从右到左语言设置的计算机,则可能正在使用这些标记来帮助渲染。
虽然我不知道导致它的原因,但你应该对输入进行消毒,例如空格。
<div id="shipdata">
5/12/2014
</div>
以上会导致您的代码也失败。所以,试试这个:
jQuery('#shipdata').html().replace(/[^0-9\/]/g,'');
答案 1 :(得分:0)
通过使用一小段jquery代码,您可以实现结果。检查 DEMO 。
jquery代码
alert($("#shipdata").html());
alert($("#shipdata").html().length);
HTML CODE
<div id="shipdata">5/12/2014</div>