通过jquery访问自定义属性

时间:2011-09-14 22:27:44

标签: javascript jquery attributes

我需要访问我的链接的自定义属性或数据,但我不能。我的代码很简单,但在转发器中。我不知道这是否会导致问题。这是代码:

 <a class="showAllComm" data-userid='<%# DataBinder.Eval(Container.DataItem, "USER_ID")%>' href="#sa">Show all comments</a>

这是我的点击事件:

$('.showAllComm').click(function(index, element) {
            var commId = $(element).data("userid");
 })

commId未定义,但我可以在源代码中看到它的值为1。

如何访问userId?

谢谢

2 个答案:

答案 0 :(得分:8)

使用this而不是第二个参数引用元素:

var commId = $(this).data("userid");

传递给事件处理程序的参数不是index中的element.each()

默认情况下,您只会传递一个event参数。

DEMO: http://jsfiddle.net/Jjbwd/

$('.showAllComm').click(function( event ) {

    alert( event.type ) // click

    var commId = $(this).data("userid");
});

答案 1 :(得分:1)

data方法不是attr方法的快捷方式。它需要一个元素和一个属性per the docs

只需使用attr("data-userid")

即可