Javascript jQuery/JS中单个参数中的多个参数不起作用
我有以下代码:Javascript jQuery/JS中单个参数中的多个参数不起作用,javascript,jquery,function,parameters,arguments,Javascript,Jquery,Function,Parameters,Arguments,我有以下代码: function periodClassMaker(period) { $('.rsform-block-rsa-formaat-w' + period).parent().addClass('periodselected'); } periodClassMaker(['1','2']); 我也尝试过: periodClassMaker('1','2'); 但在这两种情况下,它都无法将所选的类周期添加到.rsfo
function periodClassMaker(period) {
$('.rsform-block-rsa-formaat-w' + period).parent().addClass('periodselected');
}
periodClassMaker(['1','2']);
我也尝试过:
periodClassMaker('1','2');
但在这两种情况下,它都无法将所选的类周期添加到.rsform-block-rsa-format-w1和.rsform-block-rsa-format-w2
我不明白为什么它失败了
这个问题之前被问过,但我问的和我自己的代码完全无关。因为我不知道这是否有可能。每个评论我的人都告诉我输入自己的代码,以便更好地对特定用例进行评论/回复
在问前一个问题之前,我做了一些尝试和错误,但没有收到错误消息,也没有得到我想要的结果。在此基础上,我转到SO并搜索一个参数的多个参数和类似的搜索短语。很多结果都出来了,在读了十几篇文章之后,我仍然没有一个清晰的观点,如果它是完全可能的,如果它是关于如何做到这一点。因此,我提出了自己的问题
我希望编辑后的问题是有用的,明确的,它表明我做了一些研究之前张贴
function periodClassMaker(period) {
$(period.map(it => `.rsform-block-rsa-formaat-w${it}`).join(', ')).parent().addClass('periodselected');
}
periodClassMaker(['1','2']);
您可以将各个数字映射到每个选择器字符串,然后用逗号将它们连接到逻辑OR选择器。因为当它连接到第一个字符串时,将在数组上执行toString。假设结果不会匹配任何内容。您需要在数组上循环并对每个元素执行操作。“.rsform-block-rsa-format-w'+['1','2']=.rsform-block-rsa-format-w1,2@Taplar但是通过循环,它需要编写更多的代码,而不仅仅是乘以'periodClassMaker'1';periodClassMaker'2';`不是吗?我肯定这行得通,但它太紧凑了,不清晰。为了演示,也许你应该把它分解成更小更简单的说明?@Taplar哇,说真的,这很漂亮。我不知道这是可能的。看到代码会让你更容易理解刚才所说的循环。非常感谢!好吧,我最初设想了一个真正的循环,但这也行。好吧,我收回我说的,然后:@Taplar我在原始代码中尝试了它,它的工作方式就像一个符咒,使它可读性更好,因为在某些情况下,我需要使用20个不同的值调用函数20次。现在,这可以在1行而不是20行中完成。5分钟后接受。