原生js更改css样式的两种方式

下面我给大家介绍的是原生js更改CSS样式的两种方式:

1通过在javascript代码中的node.style.cssText="css表达式1;css表达式2;css表达式3  "的方式直接更改CSS样式。

2先在CSS样式表中对特定的类如“active类”设置样式(这里的active类是假定的,暂时不存在),然后再在javascript代码中通过node.classname="active"使得CSS样式表中对active类的样式设置附加到该node节点上来。

下面是详细介绍,首先是html的代码:

<style type="text/css">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; div {			float: left;			padding: 20px;			margin: 10px;			border: 1px solid #000;			background-color: #fff;			color: #000;		}           .active                {                       background-color:blue                }</style><body>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <div class="root">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </div></body>

只是一个简单的div,运行结果为

首先使用上面所说的第一种方式更改css样式,写入如下的javascript代码:

<script type="text/javascript">  
           var root=document.getElementsByClassName("root")[0];
           root.style.cssText="background-color: blue;color: #fff;";
</script>

运行结果为:

然后使用上面所说的第二种方式更改css样式,写入如下的javascript代码:

<script type="text/javascript">  
       var root=document.getElementsByClassName("root")[0];
           root.className="active";
</script>

同样运行结果为:

总结:这两种方式结果相同,但就操作过程而言,第二种方式也就是“node.classname”的方式使得css和js的写入分隔开来,显然更加合理有序一些。如果css语句比较简单的话,这两种方式没有差别,但若css语句比较复杂的话,显然第二种方式比较有条不紊。

相关推荐