検索

ホームページ  >  に質問  >  本文

关于js创建元素问题。

<script>
arr=["ninhao","dajiahao","hi"];
var ol=document.querySelector("#ol");//alert(123)
for( var i=0; i<arr.length; i++){   
 var oli=document.createElement("li");        oli.innerHTML=arr[i];        ol.appendChild(oli);    }
</script>
<ol id="ol">
</ol>

我想把数组arr的值都出来放到有序列表中,但是一直提示不能读取appendChild,请问是什么原因呢,谢谢!

尼古拉阿列克塞耶维奇奥斯特洛夫斯基尼古拉阿列克塞耶维奇奥斯特洛夫斯基2835日前1014

全員に返信(2)返信します

  • 数据分析师

    数据分析师2017-10-01 00:36:57

    jsで要素を作成する際の問題について。 -PHP中国語サイトQ&A-jsで要素を作成する際の問題について。 -PHP中国語サイトQ&A

    ぜひ見て学んでください。

    返事
    0
  • 巴扎黑

    巴扎黑2017-02-28 09:48:36

    浏览器就会按顺序先运行<script>中的js脚本,然后读取<ol>内容渲染页面,也就是说js执行的时候页面上还不存在ol元素。解决办法是把<script>放在<ol>后面,或者使用window.onload

    <script>window.onload = function() {
        arr=["ninhao","dajiahao","hi"];   
         var ol=document.querySelector("#ol");    //alert(123)
        for( var i=0; i<arr.length; i++){      
          var oli=document.createElement("li");
                oli.innerHTML=arr[i];
                ol.appendChild(oli);
        }
    }
    </script>
    <ol id="ol"></ol>

    返事
    0
  • キャンセル返事