gpt4 book ai didi

javascript - 在 Javascript 中定义 for 循环

转载 作者:行者123 更新时间:2023-11-28 11:13:49 25 4
gpt4 key购买 nike

我似乎无法定义 for 循环函数,我做错了什么?

我的 HTML 代码:

<body onload="generate()">

我的 JavaScript 代码:

function generate(){
for(i = 0; i < 150; i++) {
document.write("<div></div>");
}
};

最佳答案

你的循环很好(除了你没有声明 i ,所以你成为 Horror of Implicit Globals 的牺牲品),它是 document.write那就是问题所在。您只能在内联脚本中使用 document.write,不能在页面加载后使用(例如,不能在 body load 事件中使用) 。如果您在加载页面后使用 document.write,它会拆下该页面并用您输出的内容替换(因为存在隐式 document.open 调用)。因此,在您的情况下,您的页面消失了,取而代之的是 150 个空白 div。

要在加载后操作页面,您需要使用 DOM,引用:

例如,以下是编写 generate 函数以将 150 个空白 div 附加到页面的方法:

function generate() {
var i;

for (i = 0; i < 150; i++){
document.body.appendChild(document.createElement('div'));
}
}

或者更有用的是,150 个 div,其数字位于:

function generate() {
var i, div;

for (i = 0; i < 150; i++){
div = document.createElement('div');
div.innerHTML = "I'm div #" + i;
document.body.appendChild(div);
}
}

Live copy

<小时/>

另外,如果您要进行任何重要的 DOM 操作,那么使用一个好的 JavaScript 浏览器库(如 jQuery)是非常值得的。 , Prototype , YUI , Closure ,或any of several others 。这些可以消除浏览器差异(以及彻底的错误),提供有用的实用功能,并且通常可以让您专注于您实际想要做的事情,而不是摆弄 IE 和 Chrome、Opera 和 Safari 之间的不一致...

关于javascript - 在 Javascript 中定义 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8257374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com