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 に答える