[英]how to print javascript variable to html tags
我有這個代碼
<script language="javascript">var str = "test"; </script>
我想將其打印到我的html中的h2標簽中
<h2 id="header2"> </h2>
我已經嘗試使用document.write (str)
;
我也嘗試了document.getElementById("header2").innerHTML = str;
但沒有任何效果
您的JavaScript最有可能在加載DOM之前執行,因此document.getElementById("header2")
會引發錯誤,因此您的腳本將無法工作。
您可以通過將其包裝在onload
事件中來確保在執行JavaScript之前已加載DOM,如下所示:
window.onload = function(){
// Do something
}
另一個選擇是將腳本元素放置在body元素下方,以便腳本在加載之前的所有內容之前不會運行。 我建議始終這樣做,以免頁面“鎖定”以等待JavaScript加載,但這不一定是確保DOM已加載的面向未來的方法。 我認為目前沒有任何瀏覽器可以執行此操作,但是將來可能不會從上到下加載DOM,這會破壞您的腳本。
因此,我的建議是構建HTML文件,如下所示:
<body>
<h2 id="header"></h2>
</body>
<script>
window.onload = function(){
var str = "test";
document.getElementById("header2").innerHTML = str;
}
</script>
它不起作用,因為您嘗試在創建“ header2” h2標記之前分配值。 之后,您必須編寫JavaScript代碼。
在這種情況下,您可以編寫如下代碼:
<h2 id="header2"> </h2>
<script language="javascript">
var str = "test";
document.getElementById("header2").innerHTML=str;
</script>
您的代碼在這里工作正常:
HTML:
<h2 id="header2"></h2>
JavaScript:
var str = "Test";
document.getElementById("header2").innerHTML = str;
在完整的html頁面中,它看起來像這樣:
<html>
<head></head>
<body>
<h2 id="header2"></h2>
<script>
var str = "Test";
document.getElementById("header2).innerHTML = str;
</script>
</body>
</html>
確保您的<script>
出現在<h2>
標簽之后。
您的問題不清楚
確保html DOM完全加載,然后腳本結束
如果您的腳本位於頭部,則其他選擇是通過使用以下命令來確保DOM已完全加載: window.load()
或jQuery $(document).ready()
window.onload = function() {
document.getElementById('id').innerHTML = 'str';
}
您需要等到頁面加載
在編寫腳本之前,請確保已聲明html標記。必須在腳本啟動之前加載DOM元素。 為此,您可以稍后編寫腳本。
<body>
<h2 id="header2"> </h2>
</body>
<script type="text/javascript">
var str = "test";
document.getElementById("header2").innerHTML = str;
</script>
或者您也可以在document.ready中編寫此代碼
$( document ).ready(function() {
document.getElementById("header2").innerHTML = str;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.