js中document.getElementById(id)的具體用法
1.document.getElementById(id)是javascript中訪問某個元素的方法。
2.括號中的id是用來標識某個元素的。
3.具體用法:
例如:通過指定的id獲取某個元素,并改變其內容
<html> <body> ? <h1>這是一個網圖</h1> ? <p id="demo">我的第一個段落</p> ? <script> document.getElementById("demo").innerHTML="我的一段 JavaScript代碼"; </script> ? </body> </html>
這段代碼的操作為獲取id為:demo的元素,并修改他為:我的有單javascript代碼
document.getElementById()報錯處理
在Microsoft Edge和Google Chrome報錯:
Uncaught TypeError: Cannot set properties of null (setting 'innerHTML')
在Firefox報錯:
Uncaught TypeError: document.getElementById(...) is null
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width" /> <title>測試</title> </head> <body> <script> document.getElementById('app').innerHTML= "str"; </script> <h3 id="app"></h3> </body> </html>
保存文件名為:錯誤發(fā)生.html
用Microsoft Edge或Google Chrome瀏覽器打開運行后,再按下F12鍵可查看到報錯信息用瀏覽器打開,就會看到錯誤:
用Firefox瀏覽器打開運行后,再按下F12鍵可查看到報錯信息用瀏覽器打開,就會看到錯誤:
document.getElementById()失效的原因分析原因:
瀏覽器加載HTML文檔時,會將HTML文檔解析為一個樹形結構,稱為DOM樹,代碼的執(zhí)行順序是自上而下依次執(zhí)行,當執(zhí)行到innerHTML這一行代碼時,他并沒有加載到下面的DOM結構,就會報錯無法讀取HTML。
簡單地說,就是body還沒有加載,無法獲取DOM元素, 獲取不到節(jié)點所在的節(jié)點。
解決方法:
法一、 document.getElementById()需要放在你這個id位置的后面,如果你把<script>標簽放在head部分的話就可能會出現問題,因為document.getElementById()的使用需要把函數放在id的后面。所以,如果我們想避免這個問題,我們把<script>標簽放在<body>標簽的最后面或</body>標簽之后。并且id要完全一樣,大小寫有差別也不行。
修改后源碼如下:
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width" /> <title>測試</title> </head> <body> <h3 id="app"></h3> <script> document.getElementById('app').innerHTML= "這是一段文本!"; </script> </body> </html>
簡要說明,參見下圖:
保存 文件名為:錯誤修改.html,用瀏覽器打開,正常運行顯示如下:
法二、還可以如下修改
將document.getElementById()放到函數中,再調用函數。
這里使用HTML onload 事件調用這個函數,源碼如下:
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width" /> <title>測試</title> <script> function funA(){ document.getElementById('app').innerHTML= "這是一段文本!"; } </script> </head> <body onload="funA()"> <h3 id="app"></h3> </body> </html>
簡要說明,參見下圖:
用瀏覽器運行顯示效果和前面的一樣。
附、document的getElementById 方法(method) document.getElementById - Web API 接口參考 | MDN
到此這篇關于js中document.getElementById(id)的具體用法的文章就介紹到這了,更多相關document.getElementById(id)用法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- javascript typeof id===''string''?document.getElementById(id):id解釋
- 原生js操作checkbox用document.getElementById實現
- js querySelector和getElementById通過id獲取元素的區(qū)別
- getElementByIdx_x js自定義getElementById函數
- js中document.getElementByid、document.all和document.layers區(qū)分介紹
- JavaScript中也使用$美元符號來代替document.getElementById
- javascript代碼在ie8里報錯 document.getElementById(...) 為空或不是對象的解決方法
- javascript getElementById 使用方法及用法
- js中的getElementById的使用方法
相關文章
淺析JavaScript中回調地獄與asyn函數和await函數原理
這篇文章主要介紹了JavaScript中回調地獄與asyn函數和await函數原理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2023-01-01總結分享10個JavaScript代碼優(yōu)化小tips
這篇文章主要介紹了總結分享10個JavaScript代碼優(yōu)化小tips,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-07-07一個多瀏覽器支持的背景變暗的div并可拖動提示窗口功能的代碼
兼容IE、Firefox、Opera前幾天在網上找了許多資料,看了不少兄弟的源碼,一直找不到合適的,要不就是拖動有問題,要不就是不兼容Firefox,所以自已寫了一個,下面是代碼:2008-04-04