2014-07-09 80 views
-1

爲什麼the following code無效?我正在使用FF 30.0。當我點擊製作的漢堡包圖標時,所有3行應該變成紅色。使用Javascript添加類

function toggle() { 
    document.getElementsByClassName("line").classList.add("test"); 
} 
+6

'getElementsByClassName'返回的NodeList。你的小提琴也沒有正確安裝。 – elclanrs

+0

@elclanrs實際上,它返回[HTMLCollection](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCollection),而不是[NodeList](https://developer.mozilla)。組織/ EN-US /文檔/網絡/ API /節點列表)。 – Oriol

回答

4

我猜你想通過迭代返回getElementsByClassNameHTMLCollection實例:

function toggle() { 
    var els = document.getElementsByClassName("line"); 
    for(var i=0; i<els.length; ++i) 
     els[i].classList.add("test"); 
} 

Demo

+0

哇,感謝這個答案,最後我是一個值得信賴的用戶! @ Joshuasm32你可以嘗試'toggle'而不是'add':[** Demo **](http://jsfiddle.net/zM7KU/2/)。 – Oriol