我有这个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变量名末尾增加数字?
答案 0 :(得分:1)
$['afterglowplayer'+i].toggle(this);
答案 1 :(得分:1)
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>