js如何控制css
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要讲解了"js如何控制css",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"js如何控制css"吧!js控制css的方法:1、通过style属
千家信息网最后更新 2025年02月02日js如何控制css
这篇文章主要讲解了"js如何控制css",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"js如何控制css"吧!
js控制css的方法:1、通过style属性或者"setAttribute()"来更改样式;2、改变伪类"(after,before)"的"content"内容;3、通过更改类名来更改样式等等。
本文操作环境:windows7系统、javascript1.8.5&&CSS3版,DELL G3电脑
js如何控制css?
JS控制css样式的几种方式
我们在js的工作学习中总会遇到一些不轻易通过style属性动态加载css样式的情况(eg:伪类的样式控制,动画的样式控制),这里总结一下js改变样式的几种方法:
1,通过style属性或者setAttribute()来更改样式
ele.style.width='50px';//最常用ele.style.cssText='width:50px';//并不会覆盖原先所有cssele.style.setProperty("width", "50px", "important");//可以传第三个参数ele.setAttribute("style", "width: 50px")//也不会覆盖原先所有css放心用
ele.style.width='50px';//最常用ele.style.cssText='width:50px';//并不会覆盖原先所有cssele.style.setProperty("width", "50px", "important");//可以传第三个参数ele.setAttribute("style", "width: 50px")//也不会覆盖原先所有css放心用
2,如果只是改变伪类(after,before)的content内容也可以这么做
//css代码div::after{ content:attr(data-myadd); width:10px;}//js代码div.setAttribute('data-myadd',需要动态加载的内容)
//css代码div::after{ content:attr(data-myadd); width:10px;}//js代码div.setAttribute('data-myadd',需要动态加载的内容)
3,通过更改类名来更改样式
ele.className='';ele.classList.add();//emmmm没什么好说的
ele.className='';ele.classList.add();//emmmm没什么好说的
4,那么重点来了:利用document.styleSheets我们获取到所有样式表,然后选择一个样式表通过 insertRule 来添加样式;也可以创建新的cssRules,通过addRule()来添加样式
document.styleSheets:获取到的是所有样式列表的集合href:通过link标签引入的样式表,则是样式表的URL,否则为nullmedia:当前样式表支持的所有媒体类型集合type:样式表类型的字符串disabled: 通过disabled来屏蔽掉该样式表,可以用来切换样式表 ; document.styleSheets[i].disabled = truecssRules:是当前样式列表的所有样式集合;document.styleSheets[i].cssRulescssText:当前样式表的某一个样式的样式document.styleSheets[i].cssRules[i].cssTextselectorText:当前样式的选择符parentStyleSheet:当前规则所属样式表;IE不支持insertRule(rule,index):在index前插入一条rule新规则; document.styleSheets[0].insertRule('* {background:blue;color:#000}',0)不支持IE;document.styleSheets[0].addRule('*',' {background:blue;color:#000}',0)支持IE;deleteRule(index):删除某个央视列表的第index个样式;IE用removeRule(index)//使用document.styleSheets获取样式表的时候最好获取最后一个,在最后一个样式表上添加样式var sheets=document.styleSheets;var lastSheet=sheets[sheets.length-1];lastSheet.insertRule('#div{width:10px}',index)//将#div样式直接添加到cssRules中;index是添加到第几条;现代浏览器lastSheet.addRule('div','width:10px;',0)//IE浏览器
//使用document.styleSheets获取样式表的时候最好获取最后一个,在最后一个样式表上添加样式var sheets=document.styleSheets;var lastSheet=sheets[sheets.length-1];lastSheet.insertRule('#div{width:10px}',index)//将#div样式直接添加到cssRules中;index是添加到第几条;现代浏览器lastSheet.addRule('div','width:10px;',0)//IE浏览器
5,动态加载样式表
如果需要更改的样式比较多,还是建议通过动态加载样式的方式来改变页面样式
//改变样式文件的引用function loadStyle(url){ var link = document.createElement('link'); link.type = 'text/css'; link.rel = 'stylesheet'; link.href = url; var head = document.getElementsByTagName('head')[0]; head.appendChild(link);}loadStyle('test.css');//动态加载css代码片段var style = document.createElement('style'); style.type = 'text/css'; style.rel = 'stylesheet'; try{ //Chrome Firefox Opera Safari style .appendChild(document.createTextNode(code)); }catch(ex){//IE style.styleSheet.cssText = code; } var head = document.getElementsByTagName('head')[0]; head.appendChild(style);}loadCssCode('body{background-color:#f00}');
//改变样式文件的引用function loadStyle(url){ var link = document.createElement('link'); link.type = 'text/css'; link.rel = 'stylesheet'; link.href = url; var head = document.getElementsByTagName('head')[0]; head.appendChild(link);}loadStyle('test.css'); //动态加载css代码片段var style = document.createElement('style'); style.type = 'text/css'; style.rel = 'stylesheet'; try{ //Chrome Firefox Opera Safari style .appendChild(document.createTextNode(code)); }catch(ex){//IE style.styleSheet.cssText = code; } var head = document.getElementsByTagName('head')[0]; head.appendChild(style);}loadCssCode('body{background-color:#f00}');
感谢各位的阅读,以上就是"js如何控制css"的内容了,经过本文的学习后,相信大家对js如何控制css这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
样式
控制
动态
代码
内容
浏览器
学习
支持
浏览
属性
好说
没什么
三个
参数
常用
情况
文件
方式
方法
时候
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全陷阱有多严重
网络安全扫描设备的价格
图片web保存到数据库
PGI.S数据库
国家网络安全教育答案
数据库应用系统技术
3ds联网服务器维护
网络安全管理情绪图片
美美咖互联网科技有限公司
无线网络技术期末试卷
帆软报表连接数据库教程
java过滤器如何连接数据库
中国做服务器最大的公司
农业银行成都软件开发中心
计算机网络技术子网规划
camhi服务器架构
组态王怎么添加数据库
ddos服务器收费
挖财网络技术有限公司待遇
软件开发时间计划表
石鼓区网络安全
贵阳网络安全系统有哪些
cod18服务器炸房
网络安全的红线视频
集成电路和网络安全哪个好
局进一步加强网络安全通知
网络安全督查情况
服务器连接电视怎么上网
海南省网络安全培训班通讯录
南京网络技术公司排名