簡體   English   中英

如何將javascript變量打印到html標簽

[英]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>

您的代碼在這里工作正常:

JSFiddle

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM