Javascript 如何在样式表中动态更改CSS属性的值?
如果我有css:Javascript 如何在样式表中动态更改CSS属性的值?,javascript,css,class,Javascript,Css,Class,如果我有css: .myclass { background: #FF00FF; } 和html: <div class="myclass">etc.</div> <div class="myotherclass">etc.</div> <div class="myclass">etc.</div> 等。 等 等 如何将myclass的背景变量更改为另一种颜色,以便该类的所有div都更改其背景 请不要用jquery,谢
.myclass
{
background: #FF00FF;
}
和html:
<div class="myclass">etc.</div>
<div class="myotherclass">etc.</div>
<div class="myclass">etc.</div>
等。
等
等
如何将myclass的背景变量更改为另一种颜色,以便该类的所有div都更改其背景
请不要用jquery,谢谢给你:
[].every.call( document.styleSheets, function ( sheet ) {
return [].every.call( sheet.cssRules, function ( rule ) {
if ( rule.selectorText === '.myclass' ) {
rule.style.backgroundColor = 'green';
return false;
}
return true;
});
});
现场演示:
希望我说的话与您的期望接近,您可以尝试以下内容:-
$(文档).ready(函数(){
$(“按钮”)。单击(函数(){
$(“div”).toggleClass(“myclass”);
});
});代码>
.myclass
{
背景:#FF00FF;
}
设置所有p元素的颜色属性
等
等
等
background变量?CSS没有变量,我猜您指的是classname。您认为样式表中更改的属性会应用于该元素而不是onload事件吗?页面完全加载后,如果更改样式表中的属性,是否会影响页面中的元素?@AmGates确实会。在我的回答中看到演示。@Šime Vidas我问它除了onload event之外还能工作吗?我有数千个div,但只有少数需要更改,所以这类事情会变慢。我看不出有什么办法可以给每个div添加一个id,哦,好吧。@Myforwik你是什么意思?我不是迭代DIV元素,而是迭代样式表。我的代码的性能并不取决于页面上有多少个DIV。哎呀,我的意思是说我有数千个类,每个类通常使用2或3个DIV。@Myforwik,你需要更改这数千个类中任何一个的背景吗?你有几千种不同的颜色?