微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript 动态修改css样式方法汇总(四种方法)

在很多情况下,都需要对网页上元素的样式进行动态的修改。在JavaScript中提供几种方式动态的修改样式,下面将介绍方法的使用、效果、以及缺陷。

修改样式表的类名。

sstest来修改嵌入式的css。

修改样式表的类名。

文件,从而改变元素的css

下面是一段HTML代码和css代码用来解释上面方法的区别的。

CSS

rush:css;"> .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

rush:xhtml;">

方法一、使用obj.className来修改样式表的类名

从下面的代码可以看出ob.style.csstest是如何来btnB的样式的。

rush:js;"> function changeStyle1() { var obj = document.getElementById("btnB"); obj.style.backgroundColor= "black";

}

该段代码修改btB的文字的颜色,在浏览器中打开调试工具,可以发现btB标签中多了一个属性【style="内联式>外联式。而btB的hove伪类的background-color样式写在内联式中,所以嵌入式的background-color覆盖了伪类中,这就使得鼠标放入btB上感觉不到背景颜色的变化。

方法二、使用obj.style.csstest来修改嵌入式的css

直接上JavaScript代码

rush:js;"> function changeStyle2() { var obj = document.getElementById("btnB"); obj.style.csstext = "background-color:black; display:block;color:White;

}

该段代码和【一】中的效果是一样的,缺陷也是一样。

方法三、使用obj.className来修改样式表的类名

使用代码修改btB引用样式的类名,如下段代码

rush:js;"> function changeStyle3() { var obj = document.getElementById("btnB"); //obj.className = "style2"; obj.setAttribute("class","style2"); }

通过更改btB的css的类名的方式来更改样式,更改样式类名有两种方式。1、obj.className = "style2"; 2、 obj.setAttribute("class","style2");都是一样的效果

用这种方式来修改css比上面的效果要好很多。

方法四、使用更改外联的css文件,从而改变元素的css

通过更改外联的css文件引用从而来更改btB的样式,操作很简单。代码如下:

首先得引用外联的css文件代码如下:

rush:js;"> function changeStyle4() {
var obj = document.getElementById("css");
obj.setAttribute("href","css2.css");
}

这样也能方便的更改btB的样式,个人觉得这种方式是最好用的,是实现整体页面换肤的最佳方案。

原文地址:https://www.jb51.cc/js/52650.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐