首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用javascript修改css规则对象

问用javascript修改css规则对象
EN

Stack Overflow用户
提问于 2012-11-23 11:47:57
回答 2查看 31.9K关注 0票数 20

可能重复: 从Javascript更改CSS规则集

我想知道是否有可能修改Css样式表声明而不使用内联样式。

下面是一个简单的例子:

代码语言:javascript
复制
<style>
    .box {color:green;}
    .box:hover {color:blue;}
</style>

<div class="box">TEXT</div>

这就提供了一个蓝色的文字框,可以在悬停时变成绿色。

如果我给出该颜色的内联样式,则悬停行为将丢失:

代码语言:javascript
复制
<div class="box" style="color:red;">TEXT</box>

不管发生什么,都会有一个红色的方框。

因此,我的问题是,如何访问和修改css声明对象而不是用内联样式覆盖样式。

谢谢,

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-23 11:51:16

您可以使用与原始样式表对应的DOM样式表对象上的cssRules来修改规则。

代码语言:javascript
复制
var sheet = document.styleSheets[0];
var rules = sheet.cssRules || sheet.rules;

rules[0].style.color = 'red';

请注意,IE使用rules而不是cssRules。

下面是一个演示:http://jsfiddle.net/8Mnsf/1/

票数 42
EN

Stack Overflow用户

发布于 2012-11-23 11:50:11

只需定义类,并使用javascript向HTML元素分配/删除类。

直接将样式分配给元素,具有最高优先级,它将覆盖所有其他CSS规则。

编辑:您可能想使用cssText属性,参见这里的示例cssText性质

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13528512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档