$('elems').each() with fat arrow
I started to use ES6 fat arrow function notation and I really like it. But I am a little bit confused about it context. As far as I know, keyword this inside fat arrow function refers to context where the function is currently running. I wanted to do some simple jQuery iteration like:
$('ul#mylist > li').each(() => {
$(this).addClass('some-class-name');
});
But obviously this piece of code not working. How do I refer, inside fat arrow function, to current "LI" element in this specific code?
The each() method supplies two parameters to the callback-function. They are current index and the current item. Thus you could do the following:
$('ul#mylist > li').each((i, v) => {
$(v).addClass('some-class-name');
});
Where the "v" variable is the current "li" element
Because this in the arrow function context is the same as the calling context.
The each
function provides a current element as the second argument to the callback so
$('ul#mylist > li').each((i, el) => {
$(el).addClass('some-class-name');
});
Or in the given case there is no need to loop
$('ul#mylist > li').addClass('some-class-name');