鍍金池/ 問答/HTML/ 讓p標(biāo)簽的內(nèi)容顯示在前面

讓p標(biāo)簽的內(nèi)容顯示在前面

我期望的結(jié)果

乘法口訣表
1*1=1  
2*1=2  2*2=4  
3*1=3  3*2=6  3*3=9  
4*1=4  4*2=8  4*3=12  4*4=16  
5*1=5  5*2=10  5*3=15  5*4=20  5*5=25  
6*1=6  6*2=12  6*3=18  6*4=24  6*5=30  6*6=36  
7*1=7  7*2=14  7*3=21  7*4=28  7*5=35  7*6=42  7*7=49  
8*1=8  8*2=16  8*3=24  8*4=32  8*5=40  8*6=48  8*7=56  8*8=64  
9*1=9  9*2=18  9*3=27  9*4=36  9*5=45  9*6=54  9*7=63  9*8=72  9*9=81 

js

for(var i=1;i<=9;i++) 
{
    for(var j=1;j<=i;j++)
    {
        document.write(i + "*" + j + "=" + i*j);
        document.write("&nbsp;&nbsp;");
    }
    document.write("<br>");
}

html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <p>乘法口訣表</p>
    <script src="koujue.js"></script>    
</body>
</html>

將script放在p標(biāo)簽的下面,可以達(dá)到期望的輸出。

我希望將script的內(nèi)容放在head里面,請問,其他部分如何修改?
html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="koujue.js"></script>  
</head>
<body>
    <p>乘法口訣表</p>  
</body>
</html>

其他部分不修改的話,結(jié)果將是:

1*1=1  
2*1=2  2*2=4  
3*1=3  3*2=6  3*3=9  
4*1=4  4*2=8  4*3=12  4*4=16  
5*1=5  5*2=10  5*3=15  5*4=20  5*5=25  
6*1=6  6*2=12  6*3=18  6*4=24  6*5=30  6*6=36  
7*1=7  7*2=14  7*3=21  7*4=28  7*5=35  7*6=42  7*7=49  
8*1=8  8*2=16  8*3=24  8*4=32  8*5=40  8*6=48  8*7=56  8*8=64  
9*1=9  9*2=18  9*3=27  9*4=36  9*5=45  9*6=54  9*7=63  9*8=72  9*9=81  
乘法口訣表
回答
編輯回答
情未了

你這個做法是不合適的,在document.write是修改文檔流,如果用這個方法,就應(yīng)該把script放在需要插入的問題,如果你在head里用document.write,當(dāng)然就插在body前面了,上面的答案說用windows.onload方法來執(zhí)行,也是不合適的,因為windows.onload的時候,文檔流已經(jīng)關(guān)閉了,如果這時再做document.write,之前的所有內(nèi)容都會被抹去。

所以,如果要在head里往頁面上加內(nèi)容,就不能用document.write,應(yīng)該用document.body.append, 當(dāng)然這個代碼也應(yīng)該放在window.onload里,以確保body已經(jīng)加載。

2017年11月2日 07:07
編輯回答
硬扛

在js中用window.onload=function(){ // js代碼 }

2017年5月4日 08:25
編輯回答
涼汐

在P后面再加個div之類的不就行了

2018年4月30日 08:52
編輯回答
硬扛

appendChild

onload事件中使用document.write會觸發(fā)清除文檔的操作(注意: 因為 document.write 寫入文檔流,在關(guān)閉(已加載)的文檔上調(diào)用 document.write 會自動調(diào)用 document.open,這將清除該文檔。),從而會把之前的p標(biāo)簽清除

2017年11月2日 11:57
編輯回答
小眼睛

腳本要放到head里面,而腳本的內(nèi)容是要顯示在body里面,所以,我們需要把內(nèi)容放到onload函數(shù)內(nèi),因為當(dāng)我們把內(nèi)容追加到body里的時候,body標(biāo)簽必須存在才行

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title></title>
  <script>
    function createEl(el) {
      return document.createElement(el);
    }
    window.onload = function() {
      var fra = document.createDocumentFragment();
      for (var i = 1; i <= 9; i++) {
        var div = createEl('div');
        for (var j = 1; j <= i; j++) {
          div.textContent += (i + "*" + j + "=" + i * j + " ");
          fra.appendChild(div);
        }
      }
      document.body.appendChild(fra);
    }
  </script>
</head>

<body>
  <p>乘法口訣表</p>
</body>

</html>
2018年2月14日 00:34