為什么使用使用className 屬性改變div的style屬性不對(duì)??
代碼如下:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" Content="text/html; charset=utf-8" />
<title>javascript</title>
<style type="text/css">
body{font-size:12px;}
#txt{
? ? height:400px;
? ? width:600px;
border:#333 solid 1px;
padding:5px;}
.one{
? ? height:400px;
? ? width:600px;
? ? border:#333 solid 1px;
padding:5px;}
p{
line-height:18px;
text-indent:2em;}
</style>
</head>
<body>
? <h2 id="con">JavaScript課程</H2>
? <div id="txt">?
? ? ?<h5>JavaScript為網(wǎng)頁添加動(dòng)態(tài)效果并實(shí)現(xiàn)與用戶交互的功能。</h5>
? ? ? ? <p>1. JavaScript入門篇,讓不懂JS的你,快速了解JS。</p>
? ? ? ? <p>2. JavaScript進(jìn)階篇,讓你掌握J(rèn)S的基礎(chǔ)語法、函數(shù)、數(shù)組、事件、內(nèi)置對(duì)象、BOM瀏覽器、DOM操作。</p>
? ? ? ? <p>3. 學(xué)完以上兩門基礎(chǔ)課后,在深入學(xué)習(xí)JavaScript的變量作用域、事件、對(duì)象、運(yùn)動(dòng)、cookie、正則表達(dá)式、ajax等課程。</p>
? </div>
? <form>
? <!--當(dāng)點(diǎn)擊相應(yīng)按鈕,執(zhí)行相應(yīng)操作,為按鈕添加相應(yīng)事件-->
? ? <input type="button" value="改變顏色" onclick="changeColor()"> ?
? ? <input type="button" value="改變寬高" onclick="changeHW()">
? ? <input type="button" value="隱藏內(nèi)容" onclick="hidetext()">
? ? <input type="button" value="顯示內(nèi)容" onclick="showtext()">
? ? <input type="button" value="取消設(shè)置" onclick="cancelSet()">
? </form>
? <script type="text/javascript">
//定義"改變顏色"的函數(shù)
? ? function changeColor(){
? ? ? ? var txtId = document.getElementById("txt");
? ? ? ? txtId.style.color = "blue";
? ? ? ? txtId.style.backgroundColor = "#ccc";
? ? }
//定義"改變寬高"的函數(shù)
? ? function changeHW(){
? ? ? ? var txtId = document.getElementById("txt");
? ? ? ? txtId.style.width = "500px";
? ? ? ? txtId.style.height = "200px";
? ? ? ??
? ? }
//定義"隱藏內(nèi)容"的函數(shù)
? ? function hidetext(){
? ? ? ? var txtId = document.getElementById("txt");
? ? ? ? txtId.style.display = "none";
? ? }
//定義"顯示內(nèi)容"的函數(shù)
? ? function showtext(){
? ? ? ? var txtId = document.getElementById("txt");
? ? ? ? txtId.style.display = "block";
? ? }
//定義"取消設(shè)置"的函數(shù)
? ? function cancelSet(){
? ? ? ? var txtId = document.getElementById("txt");
? ? ? ? var c = confirm("確定取消所有設(shè)置,恢復(fù)默認(rèn)嗎?");
? ? ? ? if(c == true){
? ? ? ? ? ? //為什么改變類屬性不對(duì),removeAttribute()沒學(xué)過啊
? ? ? ? ? ? //txtId.className ="one";
? ? ? ? ? ? txtId.removeAttribute("style");
? ? ? ? ? ? alert("恢復(fù)默認(rèn)!");
? ? ? ? }else{
? ? ? ? ? ? alert("沒有恢復(fù)默認(rèn)!");
? ? ? ? }
? ? }
? </script>
</body>
</html>
使用className屬性來恢復(fù)默認(rèn)不行嗎??求解答
2015-10-23
removeAttribute是把對(duì)象的樣式全部移除,className是改變class名稱。
它是可以的 ,使用方法就是obj.className = "你要賦予的class名"。
你理解的不可以應(yīng)該是顏色沒變,但是class確實(shí)改變了的。
改變樣式名,不代表之前的樣式就沒了,之前的還在,只是增加了one下的樣式,one下的樣式有跟之前樣式重疊的話會(huì)涉及到優(yōu)先級(jí)的問題。
你把#txt的樣式去掉,留下.one樣式,在把取消設(shè)置的className生效,你看這回是不是就可以了。
2015-10-23
您規(guī)范寫錯(cuò)了 所以瀏覽器報(bào)錯(cuò)