1

我有以下 HTML:

<a href="#" data-secID="1901">
  <img src="pencil.png" title="Edit" />
</a>

下面的 jQuery 我希望将 1901 的 secID 警告到屏幕上,而是向屏幕警告“未定义”。

$(document).on("click", "a[data-secID]", function ($e) {
  alert($(this).data('secID'));
  $e.preventDefault();
});

为什么我得到“未定义”而不是 1901?

4

2 回答 2

3

看起来好像属性名称已转换为小写。试试这个:

$(document).on("click", "a[data-secID]", function ($e) {
  alert($(this).data('secid'));
  $e.preventDefault();
});

演示:http: //jsfiddle.net/72Ykj/

来自评论的参考:http: //www.w3.org/html/wg/drafts/html/master/dom.html#embedding-custom-non-visible-data-with-the-data-%2A-attributes

于 2013-02-26T20:22:39.203 回答
0

[评论后编辑]一个(不太好的)解决方法是使用

.attr('data-secID')

代替

.data('secID)
于 2013-02-26T20:23:18.550 回答