[英]document.getElementById('').display=block not working
[英]document.getElementById not working / Display
我在這里做錯了什么?
這是代碼:
<script>
var points = 1000;
document.getElementById(pointsdisplay).innerHTML = "Points:" + points;
</script>
<p id="pointsdisplay"></p>
我想在網站上顯示這些要點。 我真的不明白為什么這不起作用。
請注意,我將script標簽放在HTML代碼中。 稍后,我將制作一個外部js文件,並將所有內容放入其中。
您需要在腳本之前以HTML定義DOM
。 像這樣,
<p id="pointsdisplay"></p> <script> var points = 1000; document.getElementById("pointsdisplay").innerHTML = "Points:" + points; </script>
您應該在引號之間使用元素ID,此外,建議在script標簽之前使用DOM元素。
<p id="pointsdisplay"></p> <script> var points = 1000; document.getElementById('pointsdisplay').innerHTML = "Points:" + points; </script>
我想我在這里看到兩個問題。
首先是需要給document.getElementById一個字符串。 您可以使用: document.getElementById("pointsDisplay")
。
其次,我認為您需要將腳本放在p的下面。 瀏覽器在點擊腳本標簽后將立即執行腳本。
這里有兩個錯誤
"
(雙引號) dom
元素創建后放置腳本標記,否則它可能在創建實際dom
之前執行。 即使將js代碼保存在單獨的文件中,也請確保在dom
之后, body
標簽結束之前編寫它。 所以你的代碼應該像
<p id="pointsdisplay"></p>
<script>
var points = 1000;
document.getElementById('pointsdisplay').innerHTML = "Points:" + points;
</script>
工作jsFiddle
ID名稱應為字符串,並且應首先加載HTML標記
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <!--you have two options --> <p id="pointsdisplay"></p> <!--Html tag should be loaded first --> <script> var points = 1000; // the id name should be in string document.getElementById("pointsdisplay").innerHTML = "Points:" + points; </script> <!-- second option jquery ready function, so that would wait for the document to be loaded then execute the script --> <script> var points = 1000; $(document).ready(function(){ document.getElementById("pointsdisplay1").innerHTML = "Points:" + points; }); </script> <p id="pointsdisplay1"></p>
這里的所有其他答案都是正確的,但是我想指出的是,如果您使用DOMContentLoaded事件,則腳本將等到DOM加載后再執行。
例如。
<script> document.addEventListener("DOMContentLoaded", function(event) { var points = 1000; document.getElementById("pointsdisplay").innerHTML = "Points:" + points; }); </script> <p id="pointsdisplay"></p>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.