我使用jQuery的.data()来回传递JSON对象。数组中的一个字段是表示日期的字符串。当我将字符串放入.data()函数时,它是一个字符串。当我检索它时,它是一个js Date对象(它会对不正确的时区信息进行处理)。有没有办法阻止这种功能?
答案 0 :(得分:3)
听起来你正在使用jQuery .data()的HTML5风格数据属性,它将值强制转换为最佳匹配,请参阅jQuery online docs about .data()
解决方法是使用.attr()方法。
<div id="mydiv" data-two="2">
$('#mydiv').data('two') -> 2 // a number
$('#mydiv').attr('data-two') -> "2" // a string
答案 1 :(得分:1)
我有完全相同的事情。
我有以下代码:
<div class="datasegment red" data-id="0045" data-name="0045" data-level="red" style="opacity: 1; height: 142.28571428571428px; ">
<a class="datavalue" href="#" style="font-size: 24px; ">0045</a>
</div>
和Javascript
var ID = jQuery(this).data("id");
当我在字段中有一个“0045”时,它将它直接转换为我不想要的整数。
然后我将其改为:var ID = "";
ID = jQuery(this).attr("data-id");
然后我正确地返回了一个字符串“0045”。
在某些情况下,这是一个很大的问题,我仍然没有找到解决方法。
第h。 肖恩