[英]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.