jQuery中$.each函数能否仅使用第二个参数而忽略第一个?
解决jQuery $.each未使用参数的linter警告问题
针对你遇到的情况,有几种不用忽略警告就能仅获取当前遍历元素的方法:
利用函数内置的
arguments对象
可以不声明任何参数,直接通过arguments[1]拿到回调的第二个参数(即当前DOM元素),代码示例:$('.selector').each(function() { console.log(arguments[1]); });arguments是函数自带的类数组对象,按顺序存储了传入的所有参数,索引1对应each回调的第二个参数。用下划线
_标记未使用的参数
这是社区约定俗成的“未使用参数”标识,大部分代码检查工具(比如ESLint)会识别这个写法,不会抛出警告:$('.selector').each(function(_, element) { console.log(element); });直接使用
this关键字
在jQuery的each回调函数中,this本身就指向当前遍历的原生DOM元素,完全不需要声明参数:$('.selector').each(function() { // 输出原生DOM元素 console.log(this); // 如果需要jQuery包装后的对象,就用$(this) console.log($(this)); });这是最常用也最简洁的写法,完全避开了参数声明的问题。
内容的提问来源于stack exchange,提问作者Leo
相关产品推荐
相关产品推荐

