javascript数组/循环无法正常工作

时间:2013-12-17 23:41:06

标签: javascript html arrays loops

<!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>

为什么这不起作用只显示要点而不是名字?我是新手,我在一本书中做了这样的例子,它起作用然后我试图拿出我自己的,它不工作

2 个答案:

答案 0 :(得分:3)

这一行:

var li=getElementById(id);

应该这样说:

var li=document.getElementById(id);

在排除此类问题时,请始终使用所有现代浏览器的开发工具中提供的JavaScript控制台。例如,使用原始代码,Chrome会报告以下错误:

Uncaught ReferenceError: getElementById is not defined [test.html:13]

答案 1 :(得分:0)

你有两个问题:

  1. getElementById不是正确的致电方式,document.getElementById是正确的
  2. 你实际上没有调用你的函数window.onload=onetwothree;不起作用,window.onload=onetwothree();确实有效
  3. 工作小提琴:http://jsfiddle.net/den23/