2016-11-28 3 views
1

Ich versuche, einige javascript/jQuery schreiben, die einen Link von reddit nach dem Klicken auf die Upvote-Schaltfläche greifen wird.Ergreifung von Daten aus einem bestimmten Element aus einer Liste in jQuery

Von jetzt an, wenn ich mehrere Dinge upvoted, wird es nur den Link aus dem ersten angegebenen Klassennamen in der zurückgegebenen jQuery-Liste greifen. Beispiel:

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

Also, wenn ich 2 Beiträge upvoted, wird es nur den Link zurückkehren kommt zuerst in der Liste. Ich versuche herauszufinden, wie man NUR den Link nimmt, der zuletzt uplooted wurde (also ein eventListener, der NUR die Informationen über den gerade aktualisierten Post ergreift).

Jede Hilfe/Richtung würde sehr geschätzt werden.

+1

Warum nicht den Ereignis-Listener auf die '.arrow.upmod' Elemente setzen? –

+0

e ist ein Ereignis. Du meintest wahrscheinlich $ (this) .parent ... auch, warum nicht jQuery verwenden, um Deine Events einzurichten. –

+0

'var url = $ (this) .parent(). parent(). data ('url'); ' –

Antwort

0

Ich habe es herausgefunden. Dies tut genau das, was ich brauchte:

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