Javascript 从jQuery中的列表中获取特定元素的数据

Javascript 从jQuery中的列表中获取特定元素的数据,javascript,jquery,dom,Javascript,Jquery,Dom,我正在尝试编写一些javascript/jQuery,在单击upvote按钮后,它将从reddit获取一个链接 现在,如果我对多个内容进行了向上投票,它将只从返回的jQuery列表中的第一个指定类名中获取链接。例如: document.addEventListener('click', function(e) { if (e.target.matches('.arrow.upmod')) { var url = $(e).parent().parent().data('u

我正在尝试编写一些javascript/jQuery,在单击upvote按钮后,它将从reddit获取一个链接

现在,如果我对多个内容进行了向上投票,它将只从返回的jQuery列表中的第一个指定类名中获取链接。例如:

document.addEventListener('click', function(e) {
    if (e.target.matches('.arrow.upmod')) {
        var url = $(e).parent().parent().data('url');
        alert(url);
    }
});
因此,如果我有2篇文章被上传,它只会返回列表中第一个链接。我正试图找出如何只获取最近被提升的链接(因此eventListener只获取刚刚被提升的帖子上的信息)


任何帮助/指导都将不胜感激。

解决了这个问题。这正是我所需要的:

document.addEventListener('click', function(e) {
if (e.target.matches('.arrow.upmod')) {
    var url = $(e.target).parent().parent().attr('data-url');
    alert(url);
    }
});

我明白了。这正是我所需要的:

document.addEventListener('click', function(e) {
if (e.target.matches('.arrow.upmod')) {
    var url = $(e.target).parent().parent().attr('data-url');
    alert(url);
    }
});

为什么不将事件侦听器放在
.arrow.upmod
项上?e是一个事件。你可能是指$(这个)。家长。。。另外,为什么不使用jQuery设置事件..
var url=$(this.parent().parent().data('url')
@adam beck所以你的意思是将第一行改为:
document.addEventListener('.arrow.upmod',function(e){
@Shayd3我想他的意思是
$('.arrow.upmod')。单击(function(){var url=$(this).parent().data('url');alert(url);)
。未测试…但这就是为什么不将事件侦听器放在
.arrow.upmod
项上的想法?e是一个事件。您可能是指$(此)。parent…还有,为什么不使用jQuery设置事件..
var url=$(此)。parent().parent().data('url'))所以你的意思是把第一行改成:
document.addEventListener('.arrow.upmod',function(e){
@Shayd3我想他的意思是
$('.arrow.upmod')。点击(function(){var url=$(this.parent().data('url');警报(url);)};
。未测试…但这就是这个想法