下拉表单Javascript创建一系列数字

下拉表单Javascript创建一系列数字,javascript,html,Javascript,Html,我正在尝试使用JavaScript以下拉形式创建一系列数字 然而,看起来 …它不会显示任何选项,单击箭头不会弹出更多选项。我已经检查了我的路径是否正确 我试过了,但当我把它放在我的HTML中时,它不起作用 我要发疯了,为什么这不管用 index.html <!DOCTYPE html> <html lang="en"> <head> <link rel="stylesheet" href="../stylesheets/main.css"&g

我正在尝试使用JavaScript以下拉形式创建一系列数字

然而,看起来

…它不会显示任何选项,单击箭头不会弹出更多选项。我已经检查了我的路径是否正确

我试过了,但当我把它放在我的HTML中时,它不起作用

我要发疯了,为什么这不管用

index.html

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

    <link rel="stylesheet" href="../stylesheets/main.css">
    <script type="text/javascript" src="../assets/main.js"></script>

</head>

<body id="gradient">
    <div id="down" class="center">
        <p >Word Size</p>

        <select id="length">

        </select>          

    </div>
</body>

</html>

字数

main.js

var select = document.getElementById('length');    

for (var i = 0; i<= 24; i++){

    var option = document.createElement('option');
    option.value = i;
    option.innerHTML = i;
    select.options.add(option);
}
var select=document.getElementById('length');

对于(var i=0;i而言,问题在于当解析和执行
main.js
脚本时,DOM中还没有id为
length
的元素。最简单的解决方案是将脚本移动到
body
标记的最末端:

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="stylesheet" href="../stylesheets/main.css">
</head>

<body id="gradient">
    <div id="down" class="center">
        <p >Word Size</p>
        <select id="length"></select>          
    </div>

    <script type="text/javascript" src="../assets/main.js"></script>
</body>

</html>

在这种情况下,您不需要将脚本移动到任何地方。

问题是,在解析和执行
main.js
脚本时,DOM中还没有id为
length
的元素。最简单的解决方案是将脚本移动到
body
标记的最末端:

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="stylesheet" href="../stylesheets/main.css">
</head>

<body id="gradient">
    <div id="down" class="center">
        <p >Word Size</p>
        <select id="length"></select>          
    </div>

    <script type="text/javascript" src="../assets/main.js"></script>
</body>

</html>

在这种情况下,您不需要将脚本移动到任何地方。

问题是,在解析和执行
main.js
脚本时,DOM中还没有id为
length
的元素。最简单的解决方案是将脚本移动到
body
标记的最末端:

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="stylesheet" href="../stylesheets/main.css">
</head>

<body id="gradient">
    <div id="down" class="center">
        <p >Word Size</p>
        <select id="length"></select>          
    </div>

    <script type="text/javascript" src="../assets/main.js"></script>
</body>

</html>

在这种情况下,您不需要将脚本移动到任何地方。

问题是,在解析和执行
main.js
脚本时,DOM中还没有id为
length
的元素。最简单的解决方案是将脚本移动到
body
标记的最末端:

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="stylesheet" href="../stylesheets/main.css">
</head>

<body id="gradient">
    <div id="down" class="center">
        <p >Word Size</p>
        <select id="length"></select>          
    </div>

    <script type="text/javascript" src="../assets/main.js"></script>
</body>

</html>

在这种情况下,您不需要将脚本移动到任何地方。

您在DOM中的HTML之前添加了脚本,因此在尝试填充它时,select元素不存在。您在DOM中的HTML之前添加了脚本,因此在尝试填充它时,select元素不存在。您在DOM中的HTML之前添加了脚本DOM,因此当您尝试填充它时,select元素不存在。您在DOM中的HTML之前添加了脚本,因此当您尝试填充它时,select元素不存在。