亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

都說不能獲取對象,為啥能添加上樣式?

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>document.getElementById</title>

</head>

<body>

<p id="con">JavaScript</p>

<script type="text/javascript">

? var mychar= document.getElementById("con") ? ? ? ? ;

? document.write("結果:"+mychar); //輸出獲取的P標簽。

? ?mychar.style.color="red";

? ? mychar.style.backgroundColor="#CCC";

? ? mychar.style.width="300px";

? ? mychar.style.height="50px";

</script>

<br/>

<script type="text/javascript">

? var mychar= document.getElementById("con").innerHTML ? ? ? ? ;

? document.write("結果:"+mychar); //輸出獲取的P標簽。?

</script>

</body>

</html>


為什么

?var mychar= document.getElementById("con") ? ? ? ? ;

? document.write("結果:"+mychar); //輸出獲取的P標簽。

不能獲取p元素內容,然而;

mychar.style.color="red";

? ? mychar.style.backgroundColor="#CCC";

? ? mychar.style.width="300px";

? ? mychar.style.height="50px";

卻能給p元素添加樣式,這是什么原因?????


正在回答

2 回答

var?mychar=document.getElementById("con");確實獲取了p標簽元素這個對象,
mychar不僅僅只包含p的文本內容,還包含了p當中的className、css設置等等其他的屬性
所以?document.write("結果:"+mychar);?輸出的并不是p的文本內容,而是[object?HTMLParagraphElement]
如果要輸出p的文本內容,應該寫成:document.write("結果:"+mychar.innerHTML);或者innerText也可以
為什么能夠給p元素添加樣式,也是因為mychar包含了p的css屬性。總而言之:從面向對象的角度來說,一個對象
有很多的屬性(成員變量)和行為(成員方法),通過?對象名+?.?+具體的屬性或者方法?編譯器才會知道你要的
是什么。
個人經驗淺談,不足之處望各位及時指正。
2 回復 有任何疑惑可以回復我~
#1

有禮彬 提問者

非常感謝!謝謝
2016-09-02 回復 有任何疑惑可以回復我~
#2

桃太郎

試了下,換成document.write("結果:"+mychar.innerHTML); 那些樣式便不起作用了,why?
2016-09-11 回復 有任何疑惑可以回復我~
#3

桃太郎 回復 桃太郎

是因為mychar.innerHTML不包含p中的css設置屬性嗎?
2016-09-11 回復 有任何疑惑可以回復我~

document.write("結果:"+mychar);

修改為

document.write("結果:"+mychar.innerHTML);

0 回復 有任何疑惑可以回復我~
#1

有禮彬 提問者

樓上說的很對
2016-09-02 回復 有任何疑惑可以回復我~
#2

桃太郎

試了下,換成document.write("結果:"+mychar.innerHTML); 那些樣式便不起作用了,why?
2016-09-11 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

都說不能獲取對象,為啥能添加上樣式?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號