2016-06-09 53 views
2

我想使用JavaScript對類中的所有元素進行更改。使用JavaScript一次性將CSS更改應用到整個班級

目前,它看起來像這樣:

var elements = document.getElementsByClassName(classToChange); 

for (var i = 0; i < elements.length; i++) { 
    elements[i].style.fontFamily = newFont; 
} 

我的問題是,不僅有在一次應用新的CSS屬性給整個班級(沒有作出新的CSS樣式規則)的方式或能不能通過單獨循環元素來完成?

+4

您_should_通過樣式表做添加新的CSS規則。 (巧妙地使用像後代組合這樣的東西,這可以像在一個普通的父元素上設置_one_類一樣簡單。)否則,是的,當然,你將不得不循環遍歷各個項目。 – CBroe

+2

如果你能夠使用jQuery,你可以做$(「。classtoChange」)。css(「font-family」,「newFont」); – ADyson

+0

_「沒有制定新的CSS樣式規則」_爲什麼你不能使用'css'? – guest271314

回答

4

您可以更改或使用Javascript這樣

var style = document.styleSheets[0].cssRules || document.styleSheets[0].rules; 
 
for (var i = 0; i < style.length; i++) { 
 
    if (style[i].selectorText == '.classToChange') { 
 
    style[i].style['font-size'] = '50px'; 
 
    } 
 
}
.classToChange { 
 
    color: blue; 
 
}
<p class="classToChange">Lorem</p>

+0

這是一個好主意。循環遍歷樣式表而不是類元素,但它會更改現有類(如果存在)。謝謝! – freginold