2016-04-11 6 views
11

Ich fing an, ES6 fette Pfeilfunktionnotation zu benutzen, und ich mag es wirklich. Aber ich bin ein bisschen verwirrt darüber Kontext. Soweit ich weiß, bezieht sich das Schlüsselwort innerhalb der Fettpfeilfunktion auf den Kontext, in dem die Funktion gerade ausgeführt wird. Ich wollte eine einfache jQuery-Iteration wie zum Beispiel:

Aber offensichtlich funktioniert dieses Stück Code nicht. Wie beziehe ich mich innerhalb der Fettpfeilfunktion auf das aktuelle "LI" -Element in diesem spezifischen Code?

Vielen Dank.

Antwort

20

Die jeweils() Methode liefert zwei Parameter für die Callback-Funktion. Sie sind der aktuelle Index und der aktuelle Artikel. So könnten Sie wie folgt vorgehen:

$('ul#mylist > li').each((i, v) => { 
    $(v).addClass('some-class-name'); 
}); 

Wo die "v" Variable die aktuelle "li" Element ist

3

Da this im Pfeilfunktionskontext derselbe wie der aufrufende Kontext ist.

Die each Funktion liefert ein aktuelles Element als zweites Argument an die Callback so

$('ul#mylist > li').each((i, el) => { 
    $(el).addClass('some-class-name'); 
}); 

oder im gegebenen Fall gibt es keine Notwendigkeit, loop

$('ul#mylist > li').addClass('some-class-name');