2015-11-05 79 views
1

我想在同一個id的多個div中添加「hidden」類。Pure JS在同一個ID的多個div中添加類

function show_wzorce(x) { 
    document.getElementById("" + x + "").className += " hidden"; 

    var divs = document.getElementById("" + x + ""); 
    for (var i = 0; i < divs.length; i++) { 
     divs[i].className += " hidden"; 
    } 
} 
+4

ID ** **應該是唯一的。使用'classList'來添加類。 'divs [i] .classList.add('hidden');' – Tushar

+0

如果你需要關心的話,IE9不支持classList – SpaceBeers

回答

3

ID必須是唯一的。你可以做同樣的事情,但getElementsByClassName方法(有一個「S」元素之後)

您的代碼應該是這個樣子:

function show_wzorce(x) { // assuming x is string 
    var divs = document.getElementsByClassName(x); //this returns an HTML Collection. But works as an array 
    for (var i = 0; i < divs.length; i++) { 
     divs[i].className += " hidden"; 
    } 
} 
+0

如果'x'是字符串,你不需要'「」+ x + 「」引號。 – Tushar

+0

@Tushar謝謝。只要注意他的問題:) –

+0

@TreeNguyen'document.getElementsByClassName(x)'返回一個HTMLCollection,它是一個類似於對象的數組(''.length','[0]','[1]',... )如果DOM更改HTMLCollection會動態地更新 – andlrc

相關問題