Hello stackoverflow:我正在尝试使代码的 $('.TextBoxColors-')
部分动态化。
我正在 for 循环中查找 i
变量,以根据 if
分配此值。
我尝试了很多东西,例如 $('.TextBoxColors-${i}')
、$('.TextBoxColors-').value(i)
如 $('.TextBoxColors-').value(i).css('背景颜色', '绿色')
,
但到目前为止还没有任何效果。
这是 javascript/jquery:
let timeArray = ["9","10", "11", "12", "13", "14", "15", "16", "17"]
let currentTime = parseInt(moment().format("H"));
for (i=0; i< 9; i++) {
if (currentTime < parseInt(timeArray[i])) {
$('.TextBoxColors-9').css('background-color', 'gray')
$('.TextBoxColors-10').css('background-color', 'gray')
$('.TextBoxColors-11').css('background-color', 'gray')
$('.TextBoxColors-12').css('background-color', 'gray')
}
if (currentTime == timeArray[i]) {
$('.TextBoxColors-13').css('background-color', 'Tomato')
}
if (currentTime > timeArray.indexOf("currentTime",currentTime)) {
$('.TextBoxColors-14').css('background-color', 'green')
$('.TextBoxColors-15').css('background-color', 'green')
$('.TextBoxColors-16').css('background-color', 'green')
$('.TextBoxColors-17').css('background-color', 'green')
}
}
这是我希望发生这种情况的两个 div:
<!-- 2:00PM-->
<div class="input-group input-group-lg field-size Timer" >
<div class="input-group-prepend">
<span class="input-group-text" id="inputGroup-sizing-lg">2 PM</span>
</div>
<textarea type="text" class="TextBoxColors-14 form-control" aria-label="2:00 PM"
aria-label describedby="inputGroup-sizing-sm"></textarea>
<button class="btn btn-primary" type="button" id="saveToDo-5"><i class="fa fa-floppy-o" style="font-size:18px;"></i>
</button>
</div>
<!-- 3:00PM-->
<div class="input-group input-group-lg field-size" >
<div class="input-group-prepend">
<span class="input-group-text" id="inputGroup-sizing-lg">3 PM</span>
</div>
<textarea type="text" class="TextBoxColors-15 form-control" aria-label="3:00 AM"
aria-describedby="inputGroup-sizing-sm"></textarea>
<button class="btn btn-primary" type="button" id="saveToDo-0">
<i class="fa fa-floppy-o" style="font-size:18px;"></i>
</button>
</div>
最佳答案
这很接近:
$('.TextBoxColors-${i}')
但是对于模板字符串文字,您需要使用反引号,而不是单引号:
$(`.TextBoxColors-${i}`)
或者,您可以将值连接到字符串:
$('.TextBoxColors-' + i)
关于javascript - 尝试使用 javascript/jquery 使选择器动态化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66643532/