从转换中停止jQuery .data()

Hom*_*mer 8 jquery

有没有办法阻止.data()函数将数据转换为另一种类型?

例如,使用HTML <div data-code-name="007">Bond, James</div>

$("div").data("codeName") 返回7而不是"007"

示例:http://jsfiddle.net/dMHS4/

更新:我刚才注意到,如果你改成jQuery 1.8.2,它就不会转换.http://jsfiddle.net/dMHS4/2/

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

Cur*_*urt 9

使用.attr()而不是.data():

$("div").attr("data-code-name")
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/dMHS4/1/


取自jQuery文档:

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

  • +1.这是来自官方`data` doc:`每次尝试都将字符串转换为JavaScript值(这包括布尔值,数字,对象,数组和null),否则它将保留为字符串.要将值的属性检索为字符串而不尝试转换它,请使用attr()方法 (2认同)