css - 如何简洁地编写此 javascript 来显示/隐藏元素列表?

标签 css for-loop show-hide javascript

如何在循环中编写这种类型的代码?其实我不想一次又一次地写同一行,他们有什么办法可以压缩这段代码吗?我们可以在循环中编写这段代码吗?

function showCandidates()
{document.getElementById("cand9").style.display="block";
document.getElementById("cand10").style.display="block";
document.getElementById("cand11").style.display="block";
document.getElementById("cand12").style.display="block";
document.getElementById("cand13").style.display="block";
document.getElementById("cand14").style.display="block";
document.getElementById("cand15").style.display="block";
document.getElementById("hide_cand").style.display="block";
document.getElementById("view_cand").style.display="none";
}

function hideCandidates()
{document.getElementById("cand9").style.display="none";
document.getElementById("cand10").style.display="none";
document.getElementById("cand11").style.display="none";
document.getElementById("cand12").style.display="none";
document.getElementById("cand13").style.display="none";
document.getElementById("cand14").style.display="none";
document.getElementById("cand15").style.display="none";
document.getElementById("hide_cand").style.display="none";
document.getElementById("view_cand").style.display="block";
}

最佳答案

我建议这样:

var show_ids = ["cand9", "cand10", "cand11"] // ... and so on

funciton showCandidates() {
    for (var index in show_ids) {
        var id = show_ids[index];
        document.getElementById(id).style.display="none";
    }
}

类似于 hideCandidates

关于css - 如何简洁地编写此 javascript 来显示/隐藏元素列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9361722/

相关文章:

css - 无法获取同一行中的元素

python - 在 python 中跳过 for 循环中的迭代?

python - 类型错误 : object of type 'NoneType' has no len() while iterating through a list

javascript - Angular 4 - 使用元素的 Id 在 DOM 中显示/隐藏元素

html - Webview ios 7 中的垂直对齐文本

html - 为什么 rotate(0deg) 很重要?

javascript - 如何使用Javascript为一个元素添加多个样式属性?

C - 在 vector 中输入数字 0 时中断 while 循环

R markdown PDF : Temporarily hide spoiler code for quiz takers

javascript - 如何通过单击按钮切换 div 的可见性