以下是代码从1创建的数字的顺序列表至10我想利用该列表,并输出在div“分页”使用的innerHTML。然而,当我执行脚本,即输出的唯一的事情是数字10。当我使用document.write,而不是覆盖页,其输出的整个列表。谁能告诉我什么,我做错了什么?感谢。

function generateNumbers() {
    var numbers = new Array();

    // start generating numbers
    for(var i = 1; i <= 10; i+= 1) {
        numbers.push( i );
    }

    // print numbers out.
    for(var i = 0; i < numbers.length; i++) {
        document.getElementById("pagination").innerHTML = numbers[i] + "<br>";
    }
}

和在HTML:

<div id="pagination"></div>
有帮助吗?

解决方案

好了,你的每一步覆盖innerHTML。结果 尝试:

document.getElementById("pagination").innerHTML += numbers[i] + "<br>";

或者更好:

// no for loop
document.getElementById("pagination").innerHTML = numbers.join("<br>");

其他提示

for(var i = 0; i < numbers.length; i++) {
    document.getElementById("pagination").innerHTML = numbers[i] + "<br>";
}

这取代了innerHTML每循环一次,所以你只能看到最后一次迭代。

尝试使该=一个+=

甚至更好,建起来的字符串,并与最终的字符串设定innerHTML一次。这将更快,因为它仅需要分析该字符串作为HTML一次,而不是100次。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top