1

我的 JavaScript 代码是:

<script type="text/javascript">
     var current = 0;
var cars = new Array(5);
cars[0] = "Audi";
cars[1] = "Bentley";
cars[2] = "Mercedes";
cars[3] = "Mini";
cars[4] = "BMW";
document.getElementById("addCarBtn").onclick = function () {
    if (!(current > cars.length - 1)) {
        document.getElementById("carsDiv").innerHTML += cars[current] + "<br />";
        current++;
    }
}
</script>

我想在按钮单击 div 时一一显示每个数组项的值。

但是,当我单击按钮时,会显示数组 [0],即“Audi”,但仅显示几分之一秒。然后它消失了,只有按钮可见。

4

3 回答 3

0

方法如何every

cars.every( function(c) {
    alert("car: " + c);
});
于 2013-08-29T08:12:23.587 回答
0

您可以使用如下循环:-

for(var i=0; i< cars.length;i++)
{
alert(cars[i]);
}

//它会显示警报5次。您需要单击确定以遍历所有数组元素。//我认为这是您的想法,还是我解释错了。

// 我假设你对 javascript 完全陌生,然后在你的按钮上写 onclick="yourFuncName();"

function YourfuncName()
{
//Initailze your array here, like you have done or like kamituel has done
// then just print each array element one by one 
for(var i=0; i< cars.length;i++)
{
alert(cars[i]);
}

}
于 2013-08-29T08:16:40.060 回答
0

您快到了。由于 JS 代码位于 HTML 之前,因此 button 元素仍然不存在。最好只是包装代码,window.onload它应该可以工作:

window.onload = function() {
    document.getElementById("addCarBtn").onclick = function() {
        if (!(current > cars.length - 1)) {
            document.getElementById("carsDiv").innerHTML += cars[current] + "<br />";
            current++;
        }
    }
};

现场测试用例

编辑:刚刚注意到您的按钮没有类型。这意味着某些浏览器可能会默认将其设为提交按钮,这将导致页面重新加载。为避免这种情况,请将其设为普通按钮:

<button id="addCarBtn" type="button">
于 2013-08-29T08:30:30.400 回答