javascript - 为什么 document.getElementById 在这里返回 null?

标签 javascript html

为什么下面这段代码不起作用?我正在尝试编写一个应用程序,它将根据用户输入生成一定数量的 div。当我进入此应用程序的控制台并输入以下行时:var i = document.getElementById("foo"); 它返回 null。

<div>
    <input type="number" id="foo" value="3"/>
</div>

<div>
    <script>
        var i = document.getElementById("foo");
        for (var num = 1; num <= i; num++) {
            document.write('<div id="' + i + '"> ... </div>');
        }
    </script>
</div>

最佳答案

阅读问题下的评论!

此外,创建适当的元素通常是一件好事。

<div>
    <input type="number" id="foo" value="3"/>
</div>

<div>
    <script>
        var i = document.getElementById("foo").value;
        for (var num = 1; num <= i; num++) {
            var elem = document.createElement('div');
            elem.id  = 'elem' + num;
            elem.innerHTML = ' ... ';
            document.body.appendChild(elem)
        }
    </script>
</div>

FIDDLE

关于javascript - 为什么 document.getElementById 在这里返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23685770/

相关文章:

html - 仅使用 CSS 创建表格

javascript - 从 Sequelize 获取查询结果,然后按结果运行刮刀作业结果

javascript - Knockout.js 嵌套 foreach

javascript - 单击按钮时,如何使登录框显示在窗口中央?

css - 导航div的格式

css - HTML5 : &lt;! DOCTYPE html> 更改页面布局

javascript - jQuery点击链接不工作

javascript - 使用不断变化的参数查找值范围的可能排列

html - 使用 Mithril 为 Bootstrap Accordion 生成 HTML

javascript - jQuery 中如何绑定(bind)多个事件