我有以下代码:
alert($embellishment.data("embellishmentId"));
alert($embellishment.attr("data-embellishmentId"));
第一个警报返回undefined
,而第二个警报返回一个整数3
。
我正在使用jQuery 1.7.2版本(data
已添加1.4版本我相信)
这是为什么?如果没有返回正确的值,我应该使用data()
吗?
答案 0 :(得分:101)
行。我通过解释jQuery docs找到了问题。
当你写:
$embellishment.data("embellishmentId");
它由jQuery作为复合属性处理:
<div data-embellishment-id="3"></div>
因此,要解决此问题,您可以在数据键中使用小写,否则它只会解决不同的属性。
<!-- HTML -->
<div data-embellishmentid="3"></div>
// JavaScript
$embellishment.data("embellishmentid");