使用JavaScript操作CSS
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用JavaScript操作CSS,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1336字,纯文字阅读大概需要2分钟。
内容图文
![使用JavaScript操作CSS](/upload/InfoBanner/zyjiaocheng/710/21e5935e30be4183be80964115f94048.jpg)
我想用JavaScript来操纵我的CSS.首先,它被认为是一个不错的小脚本,可以尝试不同的颜色,我的手风琴菜单以及来自输入字段的不同背景/标题 – /内容 – / …背景颜色.
我理解如何用js获取输入值.
我理解如何使用getElementById(),getElementsByClassName(),getElementsByTag()和getElementsByName()来操纵CSS.
现在,问题是我的CSS看起来像这样:
.accordion li > a {
/* some css here */
}
.sub-menu li a {
/* some css here */
}
.some-class hover:a {
/* css */
}
.some-other-class > li > a.active {
/* css */
}
如何使用JavaScript更改此类样式的属性?
解决方法:
没有办法直接用JavaScript操作一些CSS样式.相反,您可以更改stylesheet本身的规则,如下所示:
var changeRule = function(selector, property, value) {
var styles = document.styleSheets,
n, sheet, rules, m, done = false;
selector = selector.toLowerCase();
for(n = 0; n < styles.length; n++) {
sheet = styles[n];
rules = sheet.cssRules || sheet.rules;
for(m = 0; m < rules.length; m++) {
if (rules[m].selectorText.toLowerCase() === selector) {
done = true;
rules[m].style[property] = value;
break;
}
}
if (done) {
break;
}
}
};
changeRule('div:hover', 'background', '#0f0');
selector必须与现有选择器完全匹配,只有选择器文本和{之间的空格才会被忽略.
您可以开发代码来查找和更改选择器名称的部分命中,或者只检查特定样式表而不是所有样式表.事实上,当有数十个具有数千个规则的样式表时,它也相当昂贵.
使用此代码段无法操纵伪元素.
jsFiddle的现场演示.
内容总结
以上是互联网集市为您收集整理的使用JavaScript操作CSS全部内容,希望文章能够帮你解决使用JavaScript操作CSS所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。