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

时间:2012-06-12 08:28:01

标签: javascript jquery jquery-attributes

我有以下代码:

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

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

-- SEE DEMO --

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

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

1 个答案:

答案 0 :(得分:101)

行。我通过解释jQuery docs找到了问题。

当你写:

$embellishment.data("embellishmentId");

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

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

因此,要解决此问题,您可以在数据键中使用小写,否则它只会解决不同的属性。

<!-- HTML -->
<div data-embellishmentid="3"></div>

// JavaScript
$embellishment.data("embellishmentid");