javascript数组/循环不工作 试验 函数onetwother(){ var girl=[“Ariana Grande”、“Melanie Iglesias”、“Kate Upton”、“Vanessa Hudgens”、“Miley Cyrus”、“Jennifer Aniston”、“Hannah Montana”]; 对于(i=0;i
为什么它不工作?它只显示项目符号而不显示名称?我是新来的我在一本书中做了一个这样的例子,它起了作用,然后我试着提出我自己的,但它不起作用javascript数组/循环不工作 试验 函数onetwother(){ var girl=[“Ariana Grande”、“Melanie Iglesias”、“Kate Upton”、“Vanessa Hudgens”、“Miley Cyrus”、“Jennifer Aniston”、“Hannah Montana”]; 对于(i=0;i,javascript,html,arrays,loops,Javascript,Html,Arrays,Loops,为什么它不工作?它只显示项目符号而不显示名称?我是新来的我在一本书中做了一个这样的例子,它起了作用,然后我试着提出我自己的,但它不起作用 <!doctype html> <html lang="en"> <head> <title>Test</title> <meta charset="utf-8"> <script> functio
<!doctype html>
<html lang="en">
<head>
<title>Test</title>
<meta charset="utf-8">
<script>
function onetwothree() {
var girl = ["Ariana Grande", "Melanie Iglesias", "Kate Upton", "Vanessa Hudgens", "Miley Cyrus", "Jennifer Aniston", "Hannah Montana"];
for (i = 0; i < girl.length; i++) {
var girlOfDay = girl[i];
var id = "w" + i;
var li = getElementById(id);
li.innerHTML = girlOfDay;
}
}
window.onload = onetwothree;
</script>
</head>
<body>
<ul>
<li id="w0"></li>
<li id="w1"></li>
<li id="w2"></li>
<li id="w3"></li>
<li id="w4"></li>
<li id="w5"></li>
<li id="w6"></li>
</ul>
</body>
</html>
应该这样说:
var li=getElementById(id);
在解决此类问题时,请始终使用所有现代浏览器的开发工具中提供的JavaScript控制台。例如,对于原始代码,Chrome会报告以下错误:
var li=document.getElementById(id);
您有两个问题:
getElementById
不是调用文档的正确方法。getElementById是正确的window.onload=onetwotree代码>不起作用,window.onload=onetwother()代码>确实有效
工作提琴:你肯定答对了吗?var li=document.getElementById(id);在for循环中声明变量不是好的做法。我建议在,
var girlOfDay,id,li代码>然后是…<代码>等等,为什么我在哪里声明它们很重要?这与全局变量和局部变量有关吗?因为我有点理解那些是什么,但我在读的书中没有提到这一点,这是我第二次忘记“文档”了。谢谢你,从我对函数的了解来看,我认为这就是它的工作方式,我知道它通常是这样做的。但是在书中没有“()”,当他们用window.onload调用它时,我觉得这很奇怪,最后决定用“()”和不用“()”来测试它,它只有在没有“()”的时候才起作用,我不知道这是为什么,如果它有帮助,我使用chromeJustin是正确的。他正在设置窗口.onload
变量以指向他的函数(而不是调用它)。它将在窗口的加载
事件期间调用。JSFIDLE不允许您直接访问window.onload
。相反,您可以从下拉列表中选择onLoad
(您这样做了),JSFIDLE将直接调用您的代码。在浏览器中,您不希望自己调用函数,因为它会在文档完全加载之前运行。相反,您将函数分配给window.onload
,浏览器会在适当的时间调用该函数。
Uncaught ReferenceError: getElementById is not defined [test.html:13]