document.write的輸出被“隱藏”的問題。
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>document.getElementById</title>
</head>
<body>
<p id="con"><span>這是p內(nèi)部的一個子標簽</span>JavaScript</p>
<script type="text/javascript">
? var mychar=document.getElementById("con")//獲取元素存儲在變量mychar中。
? var myword=mychar.innerHTML;//獲取元素的內(nèi)容存儲在myword中,span會被當作字符串顯示,但p不會。
? var myletter=mychar.innerText;//p、span都被當作標簽不顯示。
? document.write("結(jié)果:"+mychar+"<br/>"); //輸出獲取的P標簽。
? ?mychar.style.color="red";
? ?mychar.style.backgroundColor="#CCC";
? document.write("結(jié)果:"+myword+"<br/>");//輸出獲取的P標簽內(nèi)容,因使用的是document.write所以p、span都被當作標簽不顯示。
? ?myword.style.color="blue";
? ?myword.style.backgroundColor="#CCC";
? document.write("結(jié)果:"+"  "+myletter+"<br/>");//為了區(qū)分加了空格?
</script>
</body>
</html>
//當不存在第二段
? ?myword.style.color="blue";
? ?myword.style.backgroundColor="#CCC";
時,第三個document.write會顯示,然而存在時,第三個document.write便沒有輸出內(nèi)容。why?
2016-09-11
至于為什么加了myword.style.color="blue";? ?myword.style.backgroundColor="#CCC";之后沒有顯示后面的內(nèi)容,是因為HTML文檔的加載順序是依次,加載完p標簽以后開始讀取js,讀到myword.style.color="blue"; 這兒就報錯了,所有后面的就不執(zhí)行了。 ?具體可以F12看一下console報錯,我用的是谷歌瀏覽器。 ?報錯信息是 ? ??Uncaught TypeError: Cannot set property 'color' of undefined。
? ?(anonymous function) ? ?@ ? ?9.html:25 ? ? ????并且會具體指出是哪個html文件的哪一行的錯誤,我在重新用sublime編輯器編輯的時候,就是在25行寫的myword.style.color="blue"; ? ? 。
以上,拙見。也是自己的一個積累,一起努力。
2016-09-11
style只能對元素對象操作
2016-09-11
mychar是你的p元素,而myword是你p元素的內(nèi)容,內(nèi)容是沒有style屬性的。myword.style.color="blue"; 你這兒應(yīng)該是想給p元素更改style吧,。改成mychar。