2013-08-01 50 views
3

有沒有方法可以將一個類添加到沒有ID但具有一些現有類的元素(使用純javascript)?如果我有:javascript:向沒有ID的元素添加一個類

<div class="rightAlign pushDown">...</div> 

我怎麼能添加一個類,使它像這樣

<div class="rightAlign pushDown redOutline">...</div> 

這只是一個簡單的例子。之所以添加另一個類並不改變CSS中的原始類或者完全用javascript更改類是因爲我正在處理由Dojo創建的元素。我只需要訪問一些沒有方便的ID來抓住一些東西。

請記住我的工作在JavaScript和Dojo,我不能使用jQuery在所有...

+0

什麼版本添加元素?請參閱http://dojotoolkit.org/reference-guide/1.7/dojo/addClass.html – Mangiucugna

回答

3

道場的辦法是爲:

dojo.query(".rightAlign.pushDown").addClass("redOutline"); 

這將增加類與兩類道場

+0

謝謝!我正在尋找這樣的東西! – user2219915

+0

作爲後續問題,removeClass可以以相同的方式使用嗎? – user2219915

+0

是的,你也可以使用它。如果你想要一些能夠自動添加或刪除的東西,也可以使用dojo.toggleClass。 http://dojotoolkit.org/reference-guide/1.7/dojo/toggleClass.html – tik27

2
var elements = document.getElementsByClassName("existing_class"); 
elements[0].className += " new_class"; 

如果你想添加一個類的所有元素與指定的類,然後使用一個循環:

for(var i = 0; i < elements.length; i++){ 
    elements[i].className =+ " new_class"; 
} 

我認爲getElementsByClassName不適用於舊的IE版本。

編輯: Polyfill對IE的支持

+1

請記住,getElementsByClassName()不返回數組,而是返回一個HTMLCollection。 – Jackson

+0

用於IE支持的Polyfill:https://gist.github.com/eikes/2299607 – Jackson

+0

@Jackson謝謝,編輯過,所以它不會有誤導性。 – Samurai

相關問題