jQuery 1.8是否改变了.data()返回值的方式?

时间:2012-09-27 16:15:56

标签: jquery

相关问题:Stop jQuery .data() from converting

根据.data()的文档:

  

每次尝试都将字符串转换为JavaScript值   (否则,这包括布尔值,数字,对象,数组和null)   它留作一个字符串。要将值的属性检索为字符串   没有任何尝试转换它,使用attr()方法

这适用于jQuery 1.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/

1 个答案:

答案 0 :(得分:4)

我认为这回答了你的问题

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

他们还有一个测试小提琴http://jsfiddle.net/dmethvin/8SsWK/

并且它表明如果转换为数字将其从1.0改为1,那么它现在被视为字符串而不是数字。如果你在1.7.2 vs 1.8.2

中运行测试,你可以看到这种差异