2

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

根据以下文档.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/

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 回答