在html中调用外部.js文件

zmn*_*mny 8 html javascript

我有一个array.js文件和一个index.html.

我的array.js文件看起来像这样:

function go(){
    var array = new Array();
    array[0] = "Red";
    array[1] = "Blue";
    array[3] = "Green";
    for (var i=0; i < array.length; i++){
        document.write("<li>" + array[i] + "<br />");
    }
}
Run Code Online (Sandbox Code Playgroud)

我的index.html文件看起来像这样:

<html>
    <head>
        <script type="text/javascript" src="array.js"></script>
    </head>
    <body>
        <input type="button" onclick="go()" value="Display JS Array"/>
        <script>
            go();
        </script>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我单击Display JS ArrayHTML页面上的按钮时,没有任何反应.我希望在单击按钮后显示数组元素.它应该看起来像:

  • 红色
  • 蓝色
  • 绿色

Shr*_*har 3

将此替换document.write("<li>" + array[i] + "<br />");document.write("<li>" + array[i] + "</li>");

\n\n

并在您的 HTML 文件中删除

\n\n
<script>\n  go();\n</script>\n
Run Code Online (Sandbox Code Playgroud)\n\n

因为你已经在调用 go(); onclick 上的函数。在你的数组中, array[2] 将给出未定义。

\n\n

试试这个它对我有用:

\n\n
    <html>\n    <head>\n        <script type="text/javascript">\n            function go(){\n                var array = new Array();\n                array[0] = "Red";\n                array[1] = "Blue";\n                array[2] = "Green";\n                li = document.getElementById("list");\n                li_arr = "";\n                for (var i=0; i < array.length; i++){\n                   li_arr += "<li>" + array[i] + "</li>";\n                }\n               li.innerHTML = li_arr;\n            }\n        </script>\n    </head>\n    <body>\n        <input type="button" onclick="go()" value="Display JS Array"/>\n        <ul id="list"></ul>\n    </body>\n</html>\n
Run Code Online (Sandbox Code Playgroud)\n\n

\xe2\x80\x8b

\n