通過恢復(fù)類名的方法為什么不行?
<!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;}
.txtt{
? ? 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 class="txtt" id="txt1">?
? ? ?<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)置對象、BOM瀏覽器、DOM操作。</p>
? ? ? ? <p>3. 學(xué)完以上兩門基礎(chǔ)課后,在深入學(xué)習(xí)JavaScript的變量作用域、事件、對象、運(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="cc()"> ?
? ? <input type="button" value="改變寬高" onclick="cwh()">
? ? <input type="button" value="隱藏內(nèi)容" onclick="ch()">
? ? <input type="button" value="顯示內(nèi)容" onclick="cdd()">
? ? <input type="button" value="取消設(shè)置" onclick="cdn()">
? </form>
? <script type="text/javascript">
//定義"改變顏色"的函數(shù)
?function cc() {
?document.getElementById("txt1").style.color="red";
?}
function cwh() {
?document.getElementById("txt1").style.width="100px";
?document.getElementById("txt1").style.height="100px";
?}
//定義"改變寬高"的函數(shù)
?function ch() {
?document.getElementById("txt1").style.display="none";
?}
//定義"隱藏內(nèi)容"的函數(shù)
function cdd() {
?document.getElementById("txt1").style.display="block";
?}
//定義"顯示內(nèi)容"的函數(shù)
function bac()
{ var p2=document.getElementById("txt1");
? ? ?p2.className="txtt";
? ? ?}
? ? ?
function cdn() {
? var mymessage=confirm("是否取消設(shè)置");
? ?if(mymessage==true)
? ? {bac();}
?}
? </script>
</body>
</html>
最后一個(gè)功能,為什么我點(diǎn)“取消設(shè)置 ” 后 , 將類 更改為之前的類, 沒有效果?
?改變寬高的 應(yīng)該是能恢復(fù) 的啊
2016-07-27
因?yàn)橥ㄟ^“document.getElementById("txt1").style.width="100px";”方式設(shè)置的是內(nèi)聯(lián)樣式,txtt類是嵌入式樣式,優(yōu)先級低。而且這個(gè)類在你設(shè)置樣式的時(shí)候一直都存在,所以并不存在改變類一說。
一種解決方案是將bac函數(shù)中的p2.className="txtt"; ??改為 ?p2.style.cssText="";(清空內(nèi)聯(lián)css樣式)。