簡體   English   中英

如何選擇具有相同類名的所有元素?

[英]How can I select all elements with the same class name?

我有一個布爾變量。 它存儲在隱藏的輸入字段中。 基本上,如果用戶已登錄,則為false ,如果不是,則為true

有下載按鈕,將鏈接到文件下載。 我的目的是使它,如果他們沒有登錄,按鈕將不會顯示,並且鏈接將無法工作(有一個警報說他們需要登錄或其他東西會很好,但那會可能比它的價值更多的努力)。

我有一個執行身體onload的功能:

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

我的問題是它要求第n個術語.item(0) 這是它選擇執行函數的div的地方,但是,我希望函數能夠影響類名為'project_download_btn'的所有 div

我不是jQuery的粉絲,所以盡可能避免這種情況會很棒。

你可以簡單地遍歷元素而不是僅僅取0。

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

for(var i=0; i< buttons.length; i++){
    buttons[i].hidden = true;
}

document.getElementsByClassName返回數組,所以你感興趣的是:

document.getElementsByClassName('project_download_btn')[0]
if (document.getElementById('download_btn_var_input').value == "true") {
    var el = document.getElementsByClassName('project_download_btn');
    for (var i = 0; i < el.length; i++) {
        el[i].hidden = true;
    }
}

遍歷包含下載按鈕的每個div並將hidden設置為true

if (document.getElementById('download_btn_var_input').value == "true") {
    var button_divs_array = document.getElementsByClassName('project_download_btn');
    for (var i = 0; i < button_divs_array.length; i++) {
        button_divs_array[i].hidden = true;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM