js如何控制css
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要讲解了"js如何控制css",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"js如何控制css"吧!js控制css的方法:1、通过style属
千家信息网最后更新 2026年11月04日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安全错误
数据库的锁怎样保障安全
手冲咖啡和咖啡机区别
小米移动互联网科技园
深圳市人人互联网科技有限公司
上海睿民互联网科技有限公司
河南云网互联网络科技有限公司
互联网金融与金融科技
金融科技 互联网金融
美国互联网科技
朗涯互联网科技
小马过河互联网科技
上海万想互联网科技
天速互联网络科技有限公司
中国科技互联网公司收入
成都互联网科技公司100强
茂名市互联网科技产业园
雨阳互联网卡科技有限公司
米泉互联网科技专业怎么样
重庆科技产业互联网有哪些
互联网科技创业计划的风险分析
前海云享互联网科技
互联网络科技
南京欣网互联网络科技
河南云网互联网络科技有限公司
成都互联网科技公司
互联网科技博客
四川狮子座互联网科技
互联网科技英文翻译
互联网经济与金融科技
中国互联网十大科技股排名
互联网营销推广黑科技