如何在单击时使用jquery从列表项中获取数据值

Ano*_*use 1 jquery

我有一些像Html的:

<div id="adiv">
    <ul>
            <li data-id="3">Cat</li>
            <li data-id="4">Dog</li>
        </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

我想要的是在用户单击列表项时提醒data-id值.

在jquery我试过:

$('li').click(function () {
        alert(this.attr('data-id'));
    });
Run Code Online (Sandbox Code Playgroud)

但是引发了例外.任何人都可以告诉我我做错了什么以及如何解决?

例外情况是:Microsoft JScript运行时错误:对象不支持属性或方法'text'

Jon*_* S. 5

attr功能是成员jQuery对象,这意味着你需要调用$()this:

$('li').click(function () {
    alert($(this).attr('data-id'));
});
Run Code Online (Sandbox Code Playgroud)

编辑:正如评论中所指出的,这可能是一个更好的方法:

$('li').click(function () {
    alert($(this).data('id'));
});
Run Code Online (Sandbox Code Playgroud)

  • 这是正确的,还记得jQuery提供了`.data()`方法:http://api.jquery.com/data/ (2认同)