【发布时间】:2021-12-27 22:11:01
【问题描述】:
我目前正在使用此脚本通过 ID 号隐藏元素:
function items() {
var div = document.getElementById('QTDItems');
var itensQtd = div.textContent;
if (itensQtd == 1) {
for(var i=2; i<=20; i++){
var element = document.getElementById("item"+i);
element.style.display = 'none';
}
}
else if (itensQtd == 2) {
for(var i=3; i<=20; i++){
var element = document.getElementById("item"+i);
element.style.display = 'none';
}
}
// And so on until the else if (itensQtd == 18)
我正在使用itensQtd = div.textContent,因为我正在将 PHP 变量转换为 html,如下所示:
<div id="QTDItems" style="display: block;">
<?php echo block_field('exame-qtd'); ?>
</div>
但是对于 20 个 div 中的每一个,我都必须创建一个 IF 来选择将隐藏哪些 ID 号。我还不太擅长 JavaScript,所以我不知道如何让它更短更智能。有人可以帮忙吗?
【问题讨论】:
-
for (var i = itensQtd + 1; i <= 20; i++) {?? -
var startIndex = parseInt(itensQtd) + 1;应该让你上路 -
为什么不从隐藏所有项目开始呢?
-
Number(itensQtd) + 1.