javascript - jQuery for 循环中的多个变量

标签 javascript jquery for-loop

这可能是简单的事情,但就是无法弄清楚。

假设我有五十个类似的函数,其中有两个:

var unit = ['red', 'pink']
var unit2 = ['red2', 'red2']

$('#red').click(function() {
if($('#red2').is(':hidden')) {
$('#red2').toggle();
} else {
$('#red2').toggle();}}}

$('#pink').click(function() {
if($('#pink2').is(':hidden')) {
$('#pink2').toggle();
} else {
$('#pink').toggle();}}}

我想将所有这些函数添加到一个/两个 for 循环中。 我试过这个:

for (var i = 0; i < unit.length; i++) {
for (var y = 0; y < unit2.length; y++) {
$('#i').click(function() {
if($('#y').is(':hidden')) {
$('#y').toggle();
} else {
$('#y').toggle();}}}}

最佳答案

.toggle()方法检测元素本身的可见性,不需要使用if语句,可以使用this引用被点击元素的关键字:

$('#red, #pink').on('click', function() {
   // Based on the id property of the clicked element 
   // this selects #red2 or #pink2 element
   $('#' + this.id + '2').toggle();
});

另请注意,$('#i') 选择 ID 为 i 的元素,您应该连接字符串:

$('#' + i).foo();

关于javascript - jQuery for 循环中的多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19083477/

相关文章:

javascript - 是否有从函数返回匿名函数的名称?

javascript - 如何使用 Javascript 选择 html select 元素中的所有值

javascript - javascript中相同对象名称的总和

c++ - 使用 C++11 Range for 循环更改字符串中的字符

Java for 循环间隔结果

javascript - 将函数分配给 Javascript 中的原型(prototype)是否有内存性能优势?

javascript - 在 Javascript 中将数据添加到 html 表

jquery - ajax超时回调函数

javascript - 从父选择列表创建子类别选择列表

'for' 循环内的 'for' 循环是否可以使用相同的计数器变量名称?