【发布时间】:2015-03-21 12:24:16
【问题描述】:
我有兴趣循环浏览我的页面上的一些 div,这些 div 中的 ID 中有数字。
这就是我目前所拥有的......
var count = 1;
while(count != 12) {
$('#logo-'.concat(count).concat(' > img')).click(function() {
if($('#info-'.concat(count)).hasClass('dropdown-active')) {
$('#info-'.concat(count)).slideUp();
$('#info-'.concat(count)).removeClass('dropdown-active');
} else {
$('#info-'.concat(count)).slideDown();
$('#info-'.concat(count)).addClass('dropdown-active');
}
return false;
});
count++;
}
计数在到达 if 语句时似乎停止工作。
所以页面上的 ID 是 logo-1、info-1、logo-2、info-2 等...
【问题讨论】:
-
我想补充一点,如果我手动输入数字,代码就可以工作。我只是在寻找一种更有效的方法。
-
你需要使用闭包。查看链接的副本。
-
旁注:
'#logo-'.concat(count).concat(' > img')与'#logo-' + count + ' > img')相同,后者可以说更具可读性。还有faster.
标签: javascript jquery html loops while-loop