数组 foreach() 函数



我声明了数组并在里面添加了变量,所以现在我想用javascript创建一键式函数,但我不知道我是如何尝试的,但没有工作

function volumeUpDown(){
let a = $('._1');
let b = $('._2');
let c = $('._3');
let d = $('._4');
let e = $('._5');
let f = $('._6');
let g = $('._7');
let ar = [a,b,c,d,e,f,g];
ar.forEach().click(function(){
$(this).addClass('volactive');
})
}
volumeUpDown();

你可以在一个jQuery调用中完成整个事情:

$('._1, ._2, ._3, ._4, ._5, ._6, ._7').click(function() {
$(this).addClass("volactive");
});

选择器字符串中的逗号允许您请求将多个不同的匹配项收集到 jQuery 对象中。jQuery对象已经是一个数组(排序(,像.click()这样的jQuery函数将为jQuery对象中的所有元素完成它们的工作。

只是出于动态目的,以防有一天你需要添加更多动态(仍然使用单个jQuery调用,无论如何这是正确的方法(

$(Array.from({length: 7},(_,i) => `._{$i + 1}`).join(', ')).click(function() { 
$(this).addClass("volactive") 
});

第一部分将生成选择器:

const selector = Array.from({length: 7},(_,i) => `._${i + 1}`).join(', ');
console.log(selector);

您需要获取对象并应用回调。

ar.forEach(o => o.click(function() {
$(this).addClass('volactive');
}));

这不是你使用forEach的方式:

ar.forEach(elem => elem.click(function() {
$(this).addClass("volactive");
}));

最新更新