当我运行代码时,它确实可以在浏览器中运行,但错误始终出现。 这是我的代码:
<div id="dashboardJob">
<script>
var i = 0;
do {
document.getElementById("dashboardJob").id = "dashboardJob" + i;
i++;
}
while (i < 40)
</script>
</div>
有人能指出我在这里缺少什么吗?
欢呼
答案 0 :(得分:1)
在do-while循环的第一次迭代期间,document.getElementById("dashboardJob").id
将返回null,因为它没有遇到div
的结束标记。
此外,您尝试将同一元素的id
动态更改40次。不知道这是否就是您要通过代码实现的目标。但是,它不会在第二次迭代中再次出现,因为在第二次迭代中没有ID为dashboardJob
的元素。
答案 1 :(得分:0)
您需要将<script>
标签放在DIV下方
<div id="dashboardJob">
</div>
<script>
var i = 0;
do {
document.getElementById("dashboardJob").id = "dashboardJob" + i;
i++;
}
while (i < 40)
</script>
它不起作用的原因是,一旦浏览器看到一个打开的脚本标签,它就会开始执行代码,但是那时,DIV尚未关闭,这就是为什么会出错的原因。
编辑
您的代码将无效。我不确定,您要完成什么,但是如果循环第一次运行,则更改其ID属性,则第二次迭代将失败,因为不会有ID为id="dashboardJob"
的DIV,但是与id="dashboardJob-1"