本文摘自PHP中文网,作者藏色散人,侵删。
js替换css样式的方法:1、使用obj.className来修改样式表的类名;2、使用obj.style.cssText来修改嵌入式的css;3、使用obj.className来修改样式表的类名;4、更改外联的css文件。
本文操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
js怎么替换css样式?
javascript 动态修改css样式方法汇总-四种方法
为了达到某种特殊的效果我们需要用Javascript动态的去更改某一个标签的Css属性,如何动态修改css样式呢?面对这个问题,小编带领大家来解决javascript动态修改css样式,小伙伴们都快来学习吧
在很多情况下,都需要对网页上元素的样式进行动态的修改。在JavaScript中提供几种方式动态的修改样式,下面将介绍方法的使用、效果、以及缺陷。
1、使用obj.className来修改样式表的类名。
2、使用obj.style.cssText来修改嵌入式的css。
3、使用obj.className来修改样式表的类名。
4、使用更改外联的css文件,从而改变元素的css
下面是一段html代码和css代码用来解释上面方法的区别的。
CSS
1 2 3 4 5 6 7 | .style1{margin:10px auto ;background-color:#9999FF; display:block;color:White; border:1px solid white; padding:10px 25px; font-size:18px; }
.style1:hover{ background-color:#66B3FF; cursor:pointer;}
.style2{margin:10px auto ;background-color:gray; display:block;color:black; border:1px solid white; padding:10px 25px; font-size:18px; }
.style2:hover{ background-color:black; color:White; cursor:pointer}
|
HTML
1 2 3 4 5 6 7 8 9 | <p>
<input id= "btnB" type= "button" name= "btnLogin" value= "登录" class = "style1" />
<p id= "tool" >
<input type= "button" value= "【obj.style.className】更改样式" onclick= "changeBackgroundColor()" />
<input type= "button" value= "【obj.style.cssText】更改样式" onclick= "changeFontSize()" />
<input type= "button" value= "【obj.className】更改样式" onclick= "addRadius()" />
<input type= "button" value= "更改外联css样式" onclick= "recover()" />
</p>
</p>
|
方法一、使用obj.className来修改样式表的类名
从下面的代码可以看出ob.style.cssText是如何来btnB的样式的。
1 2 3 4 | function changeStyle1() {
var obj = document.getElementById( "btnB" );
obj.style.backgroundColor= "black" ;
}
|
该段代码修改btB的文字的颜色,在浏览器中打开调试工具,可以发现btB标签中多了一个属性【style="内联式>外联式。而btB的hove伪类的background-color样式写在内联式中,所以嵌入式的background-color覆盖了伪类中,这就使得鼠标放入btB上感觉不到背景颜色的变化。
方法二、使用obj.style.cssText来修改嵌入式的css
直接上JavaScript代码:
1 2 3 4 5 6 | function changeStyle2() {
var obj = document.getElementById( "btnB" );
obj.style.cssText = "background-color:black;
display:block;
color:White;
}
|
该段代码和【一】中的效果是一样的,缺陷也是一样。
方法三、使用obj.className来修改样式表的类名
使用代码来修改btB引用样式的类名,如下段代码:
1 2 3 4 5 | function changeStyle3() {
var obj = document.getElementById( "btnB" );
obj.setAttribute( "class" , "style2" );
}
|
通过更改btB的css的类名的方式来更改样式,更改样式类名有两种方式。
1、obj.className = "style2";
2、 obj.setAttribute("class", "style2");
都是一样的效果。
用这种方式来修改css比上面的效果要好很多。
方法四、使用更改外联的css文件,从而改变元素的css
通过更改外联的css文件引用从而来更改btB的样式,操作很简单。代码如下:
首先得引用外联的css文件,代码如下:
1 2 3 4 5 6 | <link href= "css1.css" rel= "stylesheet" type= "text/css" id= "css" />
function changeStyle4() {
var obj = document.getElementById( "css" );
obj.setAttribute( "href" , "css2.css" );
}
|
这样也能方便的更改btB的样式,个人觉得这种方式是最好用的,是实现整体页面换肤的最佳方案。
【推荐学习:javascript基础教程】
以上就是js怎么替换css样式的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
css字间距怎么设置
js中如何判断数据类型
js数组的函数用法详解
css外链式基本写法是什么
css该如何去掉背景颜色呢
js如何将json字符串转换为json对象
css 实现三栏自适应布局
css子元素如何相对父元素定位?
html5的classlist属性操作css类的使用详解
css中:not用法是什么
更多相关阅读请进入《js》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » js怎么替换css样式