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

相关问题: 从转换中停止jQuery .data()

根据.data()的文档:

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

这对于jQuery 1.7.2是正确的,但1.8.2不进行转换。 这是新的预期行为吗?

例如,使用HTML

Bond, James

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/

我想这回答了你的问题

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

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

并且它表明,如果转换为数字将其从1.0更改为1,则现在将其视为字符串,而不是数字。 如果你在1.7.2和1.8.2中运行测试,你可以看到这种差异