![](/img/trans.png)
[英]document.getElementById().innerHTML not working, no error on console
[英]Js, document.getElementById("ID").innerHTML, error
您好,我是 javascript 新手,我正在嘗試為測試站點編寫一些代碼,但遇到了一些問題,下面是我的代碼,我不斷收到此錯誤,我不知道為什么。
TypeError: null is not an object (evaluating 'document.getElementById("h3").innerHTML = "<h3>You Are up to date!</h3>"')
這是我嘗試使用的第二種方法。 我想要做的是有一個版本列表,我的第一個是它會拉一個 .js 文件並構建一個表,但這沒有用,所以我想我會嘗試這個,但你猜怎么着發生了? 不工作
我現在使用的代碼如下。 如果你能提供幫助,那就太棒了。 謝謝,達克梅西耶
var current = "1.0";
function get_latest(){
document.getElementById("bob").innerHTML = current;
}
if (local != current){
document.getElementById("Get").innerHTML = "<button><a href=\"bla\">Get the Latest Update!</a></button>";
} else if (local == current){
document.getElementById("h3").innerHTML = "<h3>You Are up to date!</h3>";
} else {
document.getElementById("h3").innerHTML = "<h3>Sorry, unable to check for update.</h3>";
}
document.getElementById(id)
在HTML中查找具有給定id值的元素。 id值如下所示:
<div id="myHeader">Some Content</div>
然后,您可以通過以下方式找到該元素:
document.getElementById("myHeader");
ID值在每個文檔中必須唯一,因此,只有一個具有給定ID的元素。
如果id不是您真正想要的,則可以使用CSS選擇器和document.querySelectorAll()
來通過標記類型,類名,屬性等其他方式找到元素。
例如,如果要查找所有<h3>
標簽,可以執行以下操作:
var items = document.querySelectorAll("h3");
這是document.getElementById(...)
可能找不到您要查找的內容的其他一些原因:
Javascript代碼在DOM元素被解析和加載之前就已運行,因此在您運行代碼時該元素實際上還不存在。 這與從文檔的<head>
部分運行的代碼很常見。
您如何在HTML中指定id值時遇到HTML錯誤。
您有HTML錯誤,該錯誤導致瀏覽器無法正確解析HTML。
您有一個腳本錯誤,導致腳本在到達要運行的部分之前中止。
實際上,如果無法找到具有指定ID的元素,則document.getElementById
將返回null。
還聲明:
if (local != current){
// ..
} else if (local == current){
// ..
} else {
// ..
}
有點奇怪。 如果local != current
為false
則local == current
必須為true
。 else if (...)
是多余的, else
部分將永遠不會運行。
嘿,您最想做的事情是以下示例,請隨時將其復制到代碼段中:
function myFunction() { document.getElementById("demo").innerHTML = "Paragraph changed!"; }
<!DOCTYPE html> <html> <body> <p id="demo" onclick="myFunction()">Click me to change my HTML content (innerHTML).</p> </body> </html>
我將向您解釋這個答案:這是一個html +一個使內部html起作用的內聯腳本。 至於您的答案,目前尚不清楚您的代碼在哪里停止,無論如何都要測試我的代碼片段並讓我知道
我知道這是一個古老的問題,但是我遇到了同樣的問題,並且一直在努力尋找解決方案。
問題是我在頁面加載之前執行了腳本。 因此,它無法找到我們要捕獲的對象。
因此,要么使用jquery document.ready函數,要么將腳本移到html的末尾。
我希望這有幫助
修復將 a 的值設為 null 的錯誤
Uncaught TypeError: a is null
代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<script>
let a = document.getElementById('i');
document.addEventListener('mouseup',function(){
a.innerHTML='clean';
})
</script>
<body>
<h3 id="i">not clean</h3>
</body>
</html>
這在控制台中顯示為錯誤
Uncaught TypeError: a is null
您可以通過在之前制作腳本標簽來修復它
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h3 id="i">not clean</h3>
<script>
let a = document.getElementById('i');
document.addEventListener('mouseup',function(){
a.innerHTML='clean';
})
</script>
</body>
</html>
這可能會解決!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.