我需要访问我的链接的自定义属性或数据,但我不能。我的代码很简单,但在转发器中。我不知道这是否会导致问题。这是代码:
<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?
谢谢
答案 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")