我寫了一片文章:
後來發現對這個訪問和修改瞭解的卻並不是很深入,訪問和修改是不一樣的,如果是訪問的話,請看我寫的《Javascript 如何訪問修改CSS樣式(網頁樣式) 》,如果是修改的話,就請看本文吧,不過也可以看看《Javascript 如何訪問修改CSS樣式(網頁樣式) 》,加深一下理解。
注意:javascript訪問和修改CSS樣式具有不同的方法,能訪問的一般能修改,但是,能修改樣式的卻不一定能訪問,也就是在訪問時輸出爲null(或者空),對於這個問題,請看:Javascript
如何訪問修改CSS樣式(網頁樣式)
使用 javascript 修改網頁樣式可以通過
- 直接改變樣式
- 改變className
- 改變cssText
三種方式來實現。
這裏需要注意的是 javascript 對大小寫十分敏感,className不能夠把“N”寫成“n”,cssText也不能夠把“T”寫成“t”,否則無法實現效果
下面對這三種方式再做一個簡單的說明:
1. 改變元素的className
通過改變一個元素的 className,使其變爲另外一種 樣式,這需要事先寫一個CSS樣式表,定義類選擇器
這裏需要注意的是:在調用時不再寫style,比如:
document.getElementById('div1').style.className="....." 的寫法是錯誤的,應該這樣寫:
document.getElementById('div1').className="....." 這個一定要注意!!
2. 改變元素的cssText
和改變className不同的是,在改變元素的cssText時,必須加上style,比如正確的寫法如下:
document.getElementById('div1').style.cssText="....." 這個一定和上面的對照着看!!
3. 直接改變樣式
用法比如:
document.getElementById('div1').style.width=".....";
document.getElementById('div1').style.backgroundColor=".....";等等
下面看一個具體的例子:
mycss.css
.style1{
width:500px;
height:200px;
background-color:pink;
}
.style2{
width:600px;
height:100px;
background-color:yellow;
}
.style3{
width:300px;
height:300px;
background-color:green;
}
.style4{
width:400px;
height:400px;
background-color:blue;
}
html
<html>
<link rel="stylesheet" type="text/css" href="mycss.css" />
<head>
<script language="javascript">
function test(eventObj){
//獲取元素
var div1=document.getElementById('div1');
window.alert(div1.className);
window.alert(div1.style);
window.alert(div1.style.cssText); //這裏輸出爲空
if(eventObj.value=="改變className"){
div1.className="style2"; //這裏不寫style
div1.className="style3";
div1.className="style4";
} else if(eventObj.value=="改變cssText"){
div1.style.cssText="width:400px;height:300px;background-color:blue"; //這裏要寫style
} else if(eventObj.value=="改背景色爲紅色"){
div1.style.backgroundColor="red";
}
}
</script>
</head>
<body >
<div id="div1" class="style1">div1</div>
<input type="button" value="改變className" onclick="test(this)"/><!-- 這裏的this就是當前button對象 -->
<input type="button" value="改變cssText" onclick="test(this)"/>
<input type="button" value="改背景色爲紅色" onclick="test(this)"/>
</body>
</html>
實際運行效果請粘貼代碼運行