給大家介紹的是原生js更改CSS樣式的兩種方式: 1通過target.style.cssText="CSS表達式"實現 2活用classname動態更改樣式 ...
下麵我給大家介紹的是原生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">
div {
float: left;
padding: 20px;
margin: 10px;
border: 1px solid #000;
background-color: #fff;
color: #000;
}
.active
{
background-color:blue
}
</style>
<body>
<div class="root">
</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語句比較複雜的話,顯然第二種方式比較有條不紊。