jQuery data()返回undefined,attr()返回整数

我有以下代码:

alert($embellishment.data("embellishmentId")); alert($embellishment.attr("data-embellishmentId")); 

第一个警报返回undefined ,而第二个警报返回一个整数3

– 看演示 –

我正在使用jQuery版本1.7.2( data与我相信版本1.4添加)

为什么是这样? 如果没有返回正确的值,我应该使用data()吗?

好。 我通过解释jQuery文档发现了这个问题。

当你写:

 $embellishment.data("embellishmentId"); 

它由jQuery作为复合属性来处理:

 <div data-embellishment-id="3"></div> 

所以,要解决这个问题,你可以在数据键中使用小写字母,否则它只是处理不同的属性。

 <!-- HTML --> <div data-embellishmentid="3"></div> // JavaScript $embellishment.data("embellishmentid");