如何选择具有相同类名的所有元素?

Jos*_*son 1 javascript jquery

我有一个布尔变量。它存储在隐藏的输入字段中。基本上,如果用户已登录,则为false,如果未登录,则为true

有下载按钮将链接到文件下载。我的目标是这样,如果他们没有登录,按钮将不会显示,并且链接将不起作用(如果有一个警报说他们需要登录或其他什么,那就太好了,但这会可能付出的努力超过了其价值)。

我有一个执行onloadbody 的函数:

function hide_download_btns(){
if (document.getElementById('download_btn_var_input').value == "true") {
    document.getElementsByClassName('project_download_btn').item(0).hidden = true
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是它要求第 n 项.item(0)。这是它选择执行该函数的 div 的地方,但是,我希望该函数影响类名为“project_download_btn”的所有s。 div

我不喜欢 jQuery,所以如果可能的话最好避免这种情况。

Jam*_*gne 5

您可以简单地循环遍历元素,而不仅仅是取第 0 个元素。

var buttons = document.getElementsByClassName('project_download_btn');

for(var i=0; i< buttons.length; i++){
    buttons[i].hidden = true;
}
Run Code Online (Sandbox Code Playgroud)