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);
嘿所有人。我试图通过特定的ID同时动态地将类添加到多个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()
,我也尝试将房间添加到数组并访问它们。这些都不适合我。
知道这是否可行?看起来应该是这样。
答案 0 :(得分:2)
您的代码正常运行,请务必在$(document).ready()
内添加脚本,或在DOM元素定位后添加脚本。
$(document).ready(function() {
function roomGen(minimum, maximum, interv) {
for (var i = minimum; i < maximum; i += interv) {
room = "#room" + i;
$(room).addClass('currentRoom');
console.log(room);
}
}
// generate stub data for test
for (var i = 0; i < 100; i += 1) {
$("#rooms").append('<div id="room'+i+'">room'+i+'</div>');
}
roomGen(1, 20, 2);
});
.currentRoom{
color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="rooms"></div>
答案 1 :(得分:0)