1

jQueryの.data()を使用してJSONオブジェクトをやり取りしています。配列のフィールドの1つは、日付を表す文字列です。文字列を.data()関数に入れると、それは文字列です。私がそれを取得するとき、それはjs Dateオブジェクトです(そしてそれは間違ったタイムゾーン情報をタックします)。この機能を防ぐ方法はありますか?

4

2 に答える 2

3

HTML5スタイルのデータ属性をjQuery.data()で使用しているようです。これにより、値が最適に一致するように強制されます。.data()に関するjQueryオンラインドキュメントを参照してください。

回避策は、代わりに.attr()メソッドを使用することです。

<div id="mydiv" data-two="2">

$('#mydiv').data('two') -> 2 // a number
$('#mydiv').attr('data-two') -> "2"  // a string
于 2012-08-27T23:11:09.513 に答える
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」の文字列を正しく返しました。

これは場合によっては大きな問題であり、私はまだ降下の回避策を見つけていません。

hth。ショーン

于 2012-08-28T04:04:37.793 に答える