在很多情况下,都需要对网页上元素的样式进行动态的修改。在javascript中提供几种方式动态的修改样式,下面将介绍方法的使用、效果、以及缺陷。
1、使用obj.classname来修改样式表的类名。
2、使用obj.style.csstest来修改嵌入式的css。
3、使用obj.classname来修改样式表的类名。
4、使用更改外联的css文件,从而改变元素的css
下面是一段html代码和css代码用来解释上面方法的区别的。
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
<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.csstest是如何来btnb的样式的。
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代码:
function changestyle2() {
var obj = document.getelementbyid("btnb");
obj.style.csstext = "background-color:black; display:block;color:white;
}
该段代码和【一】中的效果是一样的,缺陷也是一样。
方法三、使用obj.classname来修改样式表的类名
使用代码来修改btb引用样式的类名,如下段代码:
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文件,代码如下:
<link href="css1.css" rel="stylesheet" type="text/css" id="css"/>
function changestyle4() {
var obj = document.getelementbyid("css");
obj.setattribute("href","css2.css");
}
以上就是推荐四种javascript修改css样式实例代码的详细内容。