$('elems').each() 带有粗箭头

$('elems').each() with fat arrow

我开始使用 ES6 粗箭头函数符号,我非常喜欢它。但是我对它的上下文有点困惑。据我所知,关键字 this inside fat arrow function 指的是函数当前所在的上下文 运行。我想做一些简单的 jQuery 迭代,例如:

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

但显然这段代码不起作用。我如何在粗箭头函数中引用此特定代码中的当前 "LI" 元素?

因为箭头函数上下文中的this与调用上下文相同

each 函数提供当前元素作为回调的第二个参数,因此

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

或者在给定的情况下不需要循环

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

each() 方法向回调函数提供两个参数。它们是当前索引和当前项目。因此,您可以执行以下操作:

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

其中"v"变量是当前"li"元素