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