如何在jQuery中增加变量名中的数字

时间:2017-11-17 19:15:30

标签: javascript jquery

我有这个javascript for循环:

for (var i=1; i <= 2; i++) {
   $(".afterglowplayer"+i).click(function () {$.afterglowplayer+i.toggle(this); return false;});
}

我需要在jQuery变量名的末尾增加数字,以便得到这个:

$.afterglowplayer1.toggle(this);
$.afterglowplayer2.toggle(this);

我尝试过使用

$.afterglowplayer+i.toggle(this); 

$.afterglowplayer+"+i+".toggle(this);

但这不正确...是否有可能在jQuery变量名末尾增加数字?

3 个答案:

答案 0 :(得分:1)

$['afterglowplayer'+i].toggle(this);

答案 1 :(得分:1)

阅读JavaScript closures

for (var i=1; i <= 2; i++) {
  (function(n) {
    $('.afterglowplayer'+n).click(function () {
      $('.afterglowplayer'+n).toggle(this); return false;
    });
  })(i);
}

答案 2 :(得分:1)

您可以使用let关键字

for (let i=1; i <= 2; i++) {
   $(".afterglowplayer"+i).click(function () {
      $('.afterglowplayer'+i).toggle(this);
      return false;
   });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='afterglowplayer1'>Foo</div>
<div class='afterglowplayer2'>Bar</div>