for循环适用于console.log而不是innerHTML?

时间:2015-12-16 18:19:42

标签: javascript html for-loop innerhtml console.log

你好,我是javascript的新手,请原谅我,如果答案看起来很明显......

这是我的代码,只需单击正文中的按钮即可执行

function q() { 

    var A = document.getElementById("time_one").value;
    var B = document.getElementById("time_two").value;
    var C = document.getElementById("post_number").value;

    var D = (B - A) / C;

    for ( var x = A; x < B; x = x + D ) {

    document.getElementById("q_box").innerHTML = x + "<br />";

    }


}

我很确定错误是在for循环中......输出应该是A和B之间的数字列表。将innerHTML =更改为innerHTML + =也没有用?

2 个答案:

答案 0 :(得分:1)

function q() { 

    var A = +document.getElementById("time_one").value;
    var B = +document.getElementById("time_two").value;
    var C = +document.getElementById("post_number").value;

    var D = (B - A) / C;

    for ( var x = A; x < B; x = x + D ) {

    document.getElementById("q_box").innerHTML += x + "<br />";

    }

}

您应该转换int中的值,然后使用+=

答案 1 :(得分:0)

innerHTML循环中使用for代码,您始终使用上次迭代值设置值。因此,您需要将代码更新为

 for ( var x = A; x < B; x = x + D ) {

    document.getElementById("q_box").innerHTML += x + "<br />";

    }

OR

var y = "";
 for ( var x = A; x < B; x = x + D ) {

     y += x + "<br />";

    }
document.getElementById("q_box").innerHTML = y;

我建议您选择第二个选项,因为最好一次设置更新的值,而不是为每次迭代提取值和更新。