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

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

getElementById()到底獲取的是什么。

http://img1.sycdn.imooc.com//56cbf39c0001322c05020544.jpg為什么這么實現不了。我的想法是:getElementById()獲取對象,然后引用對象實現屬性的更改。

正在回答

5 回答

最后,關于怎么修改可以不重復敲呢?

那就取出來吧,再創一個<script>便簽,放<body> 下 </p>標簽之后即可,如下:

<p>...</p>
????<script>
???????var?mychar?=?document.getElementById("con");
????</script>
????<form>...</form>

實測,可行!

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

<!--知道的不是很多,就挑些我知道的講講,本人小菜鳥一個,若以下有遺漏之處,還望大神指點 。-->

首先復習下前兩節講的內容,通過document.getElementById("id")可以獲取元素內容,但具有的id元素位于下面時,根據瀏覽器從上而下(同一優先級)解析順序可以知道,瀏覽器正在讀取<head>中的<script>命令,而該命令卻是要調需用<body>中的id 便簽內容,此時瀏覽器并不知道<body>到底寫了什么鬼,正如另一位同學說的,瀏覽器頓時就二了。

所以元素不能正常獲取,輸出值為 : null ?

eg:

<html>
<head>
<script>
??var?mychar?=?document.getElementById("con");
???document.write(mychar);??????????????????????????//輸出???null
</script>
</head>
<body>
?????<p?id="con">?你找不著我^-^?</p>
<body>
</html>

到這可能又有問題了,先看下這個例子:

<html>
<head>
<title>display</title>
????<script?type="text/javascript">?
????
????????function?hidetext()??
{??
var?mychar?=?document.getElementById("con");
????????mychar.style.display="none";
}??
????</script>?
</head>?
<body>??
????<h1>JavaScript</h1>??
????<p?id="con">做為一個Web開發師來說,如果你想提供漂亮的網頁、令用戶滿意的上網體驗,JavaScript是必不可少的工具。</p>?
????<form>
???????<input?type="button"?onclick="hidetext()"?value="隱藏內容"?/>?
????</form>
</body>?
</html>

從上面可以看出document.getElementById("con")依舊位于被獲取對象id 之前,可這為什么不顯示null卻能正常顯示呢,關鍵原因是有他在:?

function 函數?? .

從第一章最后一節有講過關于函數調用說明,函數不能自動執行的,?執行需調用,到這大概就清楚了,這例子能正常運行原因在于使用了function hidetext() 函數 ,使得瀏覽器運行到<script>內 funciton 函數時不會立即執行解析出結果,函數會等待被調用,瀏覽器會繼續按順序解析下去,直到<button>出現,觸發按鈕,此時所有內容以表達,而函數下的?document.getElementById("con") 就靜靜等待直到被運行 ~ perfect

update:剛把<form></form>放<p></p>之前了,功能正常,這是說明<body>內優先級平等嗎,求解?

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

獲得的?是你所要改變的具體位置標簽

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

獲取的是你所要改變的具體位置標簽

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

不是很懂,但是有解決方法,我的猜想是js加載的時候con還沒有加載完成,所有你點擊的時候get不到con這個元素,將script代碼放到body的最下面就可以了。

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

qq_那海_0 提問者

js加載也應該是先從頭部開始吧,我沒把getElementById寫進函數里面,就是不想在每個函數中都重復聲明。結果實現不了。
2016-02-23 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

getElementById()到底獲取的是什么。

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

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

幫助反饋 APP下載

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

公眾號

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