課程
/前端開發(fā)
/JavaScript
/JavaScript入門篇
為什么這么實現(xiàn)不了。我的想法是:getElementById()獲取對象,然后引用對象實現(xiàn)屬性的更改。
2016-02-23
源自:JavaScript入門篇 3-5
正在回答
最后,關于怎么修改可以不重復敲呢?那就取出來吧,再創(chuàng)一個<script>便簽,放<body> 下 </p>標簽之后即可,如下:
最后,關于怎么修改可以不重復敲呢?
那就取出來吧,再創(chuàng)一個<script>便簽,放<body> 下 </p>標簽之后即可,如下:
<p>...</p> ????<script> ???????var?mychar?=?document.getElementById("con"); ????</script> ????<form>...</form>
實測,可行!
<!--知道的不是很多,就挑些我知道的講講,本人小菜鳥一個,若以下有遺漏之處,還望大神指點 。-->
首先復習下前兩節(jié)講的內(nèi)容,通過document.getElementById("id")可以獲取元素內(nèi)容,但具有的該id元素位于下面時,根據(jù)瀏覽器從上而下(同一優(yōu)先級)解析順序可以知道,瀏覽器正在讀取<head>中的<script>命令,而該命令卻是要調(diào)需用<body>中的id 便簽內(nèi)容,此時瀏覽器并不知道<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開發(fā)師來說,如果你想提供漂亮的網(wǎng)頁、令用戶滿意的上網(wǎng)體驗,JavaScript是必不可少的工具。</p>? ????<form> ???????<input?type="button"?onclick="hidetext()"?value="隱藏內(nèi)容"?/>? ????</form> </body>? </html>
從上面可以看出document.getElementById("con")依舊位于被獲取對象id 之前,可這為什么不顯示null卻能正常顯示呢,關鍵原因是有他在:?function 函數(shù)?? .
從上面可以看出document.getElementById("con")依舊位于被獲取對象id 之前,可這為什么不顯示null卻能正常顯示呢,關鍵原因是有他在:?
function 函數(shù)?? .
從第一章最后一節(jié)有講過關于函數(shù)調(diào)用說明,函數(shù)不能自動執(zhí)行的,?執(zhí)行需調(diào)用,到這大概就清楚了,這例子能正常運行原因在于使用了function hidetext() 函數(shù) ,使得瀏覽器運行到<script>內(nèi) funciton 函數(shù)時不會立即執(zhí)行解析出結果,函數(shù)會等待被調(diào)用,瀏覽器會繼續(xù)按順序解析下去,直到<button>出現(xiàn),觸發(fā)按鈕,此時所有內(nèi)容以表達,而函數(shù)下的?document.getElementById("con") 就靜靜等待直到被運行 ~ perfect
update:剛把<form></form>放<p></p>之前了,功能正常,這是說明<body>內(nèi)優(yōu)先級平等嗎,求解?
獲得的?是你所要改變的具體位置標簽
獲取的是你所要改變的具體位置標簽
不是很懂,但是有解決方法,我的猜想是js加載的時候con還沒有加載完成,所有你點擊的時候get不到con這個元素,將script代碼放到body的最下面就可以了。
qq_那海_0 提問者
舉報
JavaScript做為一名Web工程師的必備技術,本教程讓您快速入門
5 回答JS用getElementById獲取標簽輸出的結果為[object....]說明獲取成功是嗎?
5 回答DOM到底是什么?
3 回答document是什么意思,還有getElementById
2 回答不加innerHTML獲取的是什么
3 回答getElementById是什么意思呢?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2016-03-13
2016-03-13
<!--知道的不是很多,就挑些我知道的講講,本人小菜鳥一個,若以下有遺漏之處,還望大神指點 。-->
首先復習下前兩節(jié)講的內(nèi)容,通過document.getElementById("id")可以獲取元素內(nèi)容,但具有的該id元素位于下面時,根據(jù)瀏覽器從上而下(同一優(yōu)先級)解析順序可以知道,瀏覽器正在讀取<head>中的<script>命令,而該命令卻是要調(diào)需用<body>中的id 便簽內(nèi)容,此時瀏覽器并不知道<body>到底寫了什么鬼,正如另一位同學說的,瀏覽器頓時就二了。
eg:
update:剛把<form></form>放<p></p>之前了,功能正常,這是說明<body>內(nèi)優(yōu)先級平等嗎,求解?
2016-02-23
獲得的?是你所要改變的具體位置標簽
2016-02-23
獲取的是你所要改變的具體位置標簽
2016-02-23
不是很懂,但是有解決方法,我的猜想是js加載的時候con還沒有加載完成,所有你點擊的時候get不到con這個元素,將script代碼放到body的最下面就可以了。