2

関連する質問:jQuery .data()による変換を停止します

のドキュメントによると.data()

文字列をJavaScript値(ブール値、数値、オブジェクト、配列、およびnullを含む)に変換しようとするたびに試行されます。それ以外の場合は、文字列のままになります。変換を試みずに値の属性を文字列として取得するには、attr()メソッドを使用します

これはjQuery1.7.2にも当てはまりますが、1.8.2は変換を行いません。これは新しい予想される動作ですか?

たとえば、HTMLを使用します<div data-code-name="007">Bond, James</div>

jQuery v1.7.2 $("div").data("codeName")は7を返します例:http://jsfiddle.net/dMHS4/

jQuery v1.8.2 $("div").data("codeName")は「007」を返します例:http://jsfiddle.net/dMHS4/2/

4

1 に答える 1

4

これはあなたの質問に答えると思います

http://bugs.jquery.com/ticket/7579

彼らはまた、テストフィドルhttp://jsfiddle.net/dmethvin/8SsWK/を持っています

また、数値に変換すると、たとえば1.0から1に変更された場合、数値ではなく文字列として扱われるようになったことを示しています。1.7.2と1.8.2でテストを実行すると、この違いがわかります。

于 2012-09-27T16:21:24.927 に答える