【发布时间】:2015-04-26 19:06:45
【问题描述】:
function roomGen(minimum, maximum, interv) {
for (var i = minimum; i < maximum; i += interv) {
room = "#room" + i;
$(room).addClass('currentRoom');
console.log(room);
}
}
roomGen(1,20,1);
大家好。我正在尝试通过特定的 ids 同时向多个 div 动态添加类。我有编号为 1-100 的 id 为 #room.. 的 div。
我期待这个功能相当于打字:
$('#room1').addClass('currentRoom');
$('#room2').addClass('currentRoom');
etc...
但是它并没有给我我所希望的。 console.log 方法正在返回我所期望的(#room1、#room2),并且我没有收到任何关于语法的 JS/jQuery 错误或 elem 未被识别。基本上,当我触发roomGen() 函数时……实际上什么都没有发生。
我尝试过搭配引号 (room = "'"+"#room"+i+"'"),我尝试过使用 i.toString(),我还尝试过将房间添加到数组并访问它们。这些都不适合我。
知道这是否可行吗?似乎应该如此。
【问题讨论】:
-
你所拥有的应该可以工作。一旦 DOM 准备好(例如在
$(document).ready()处理程序中),您是否正在运行它? P.s(这根本不会影响您的代码,但这是一个很好的做法)... 使用var声明room以阻止它成为隐式全局。 -
或者您可以使用另一个 DOM 属性(例如,所有房间共享的类
room)来定位房间;这就是通常的做法。
标签: javascript jquery function class for-loop