Javascript 如何从单击的链接中正确捕获数据rel
我有一个自动填充用户列表的表,我试图捕获datarel属性,以便查询数据库、检索用户数据并显示它。我无法解决的问题是,当我尝试捕获数据rel值时,结果是:未定义 下面是如何在页面上呈现HTML的示例Javascript 如何从单击的链接中正确捕获数据rel,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,我有一个自动填充用户列表的表,我试图捕获datarel属性,以便查询数据库、检索用户数据并显示它。我无法解决的问题是,当我尝试捕获数据rel值时,结果是:未定义 下面是如何在页面上呈现HTML的示例 <td> <a href="#" class="linkshowuser" data-rel="531fe2cef46de62a24a0a8ab" title="Show Details">user2</a> </td> <td>
<td>
<a href="#" class="linkshowuser" data-rel="531fe2cef46de62a24a0a8ab" title="Show Details">user2</a>
</td>
<td>
<a href="#" class="linkshowuser" data-rel="531fe513dfd24a9d24ebb0c5" title="Show Details">user2</a>
</td>
到目前为止,一切都很好,我正确地识别了点击并触发了函数DV_Show
DV_Show: function () {
event.preventDefault();
var id = $(this).data('rel');
console.log (id);
}
我现在要做的唯一一件事就是确保我获得了id变量的数据rel信息,但这并没有发生
我从控制台得到的输出是:未定义,我认为这是因为它没有指向链接,但我不知道正确的方法
我在Stackoverflow上看到了其他关于这个的问题,他们都使用了this关键字,但我相信区别可能在于我将它放在主干视图中,因此它可能指向其他地方。您应该能够从
事件中获取元素。currentTarget
和事件将传递给回调函数
DV_Show: function (e) {
e.preventDefault();
var id = $(e.currentTarget).data('rel');
console.log (id);
}
您的示例不起作用,因为主干使用this
变量将其绑定到视图本身 太好了,它正如我所期待的那样工作。我认为这可能是问题所在,但不知道如何纠正。谢谢你的回答
DV_Show: function (e) {
e.preventDefault();
var id = $(e.currentTarget).data('rel');
console.log (id);
}