jQuery .data()和存储日期信息

时间:2012-08-27 22:55:03

标签: javascript jquery datetime

我使用jQuery的.data()来回传递JSON对象。数组中的一个字段是表示日期的字符串。当我将字符串放入.data()函数时,它是一个字符串。当我检索它时,它是一个js Date对象(它会对不正确的时区信息进行处理)。有没有办法阻止这种功能?

2 个答案:

答案 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。 肖恩