javascript - 使用按钮循环遍历数组

标签 javascript html css events dom-manipulation

好的,本质上我想创建一个带有下一个和上一个按钮的简短测验。我想遍历两个数组,问题和选择,最后有一个分数。我已经阅读了有关 DOM 和事件的章节,但显然没有点击。

我真的需要一些代码来展示如何操作 DOM 的具体示例。到目前为止我所拥有的只是数组,以及一个声明 x 实际上是通过 id 获取我的元素的函数。哈哈。

抱歉,我没有更多的代码可以提供。我试图将 id 附加到一个段落,然后通过它的 id 和 document.write 数组获取它,但这取代了按钮。如果您运行下面的代码,您就会明白我在说什么。

<!DOCTYPE html>
<html>
<head>
    <title>Bom</title>
</head>
<body>
    <input type="button" value="Iterate" id="myButton" onclick="iter_onclick()">
    <p id="qArray">Some Text</p>

    <script>
        var qArray = ["Who is my dog?", "who is the prez?", "Who is my girlfriend?", "Who am I?"];

        var cArray = [["Bill","Billy", "Arnold", "Tyler"],["Oz"," Buffon","Tupac","Amy"],["Tony Blair","Brack Osama","Barack Obama","Little Arlo"],["Emma Stone","Tony the Tiger","","The Smurf Girl"]];

        function iter_onclick () {
            var x = document.getElementById("qArray");
            document.write("Hello World");
        }        
     </script>
</body>
</html>`

就像我说的,这是我第一次尝试真正操纵 DOM,我知道我想做什么。我只是不知道该怎么做。我理解所有的语法、事件和对象等等。但是,我不太确定如何应用它。另外,没有 Jquery。我想知道如何使用 Javascript 创建应用程序,然后使用 Jquery。谢谢大家。

最佳答案

这将遍历您的问题,希望这能帮助您继续。

var qArray = ["Who is my dog?", 
       "who is the prez?", 
       "Who is my girlfriend?", 
       "Who am I?"];

var cArray = [
    ["Bill", "Billy", "Arnold", "Tyler"],
    ["Oz", " Buffon", "Tupac", "Amy"],
    ["Tony Blair", "Brack Osama", "Barack Obama", "Little Arlo"],
    ["Emma Stone", "Tony the Tiger", "Amy Dahlquist", "The Smurf Girl"]
];

var index = 0;

function iter_onclick() {
    //if this is the last question hide and displays quiz ends            
    if (index >= qArray.length) {
        document.getElementById('qArray').innerHTML = '<div>Quiz End, Thank you</div>'
        document.getElementById('myButton').style.visibility = 'hidden ';
        return false;
    }

    var html = ' <div> ' + qArray[index] + ' </div> <div>';
    for (var i = 0; i < cArray[index].length; i++) {
        html += '<label><input type="radio" name="ans" value="' 
             + cArray[index][i] + '"/ > ' + cArray[index][i] + ' </label>';
    }
    html += '</div > ';
    document.getElementById('qArray').innerHTML = html;

    index++;
}

关于javascript - 使用按钮循环遍历数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19602292/

相关文章:

html - Edge 不会在 flexbox 中拉伸(stretch) iframe

javascript - 有效地从字符串中删除常见模式

javascript - 迭代中的异步函数 - javascript

php - 从 mysql 到 php 获取值(value)时遇到麻烦

html - 在模态内的同一行中形成

html - 如何使三个圆圈响应 Angular2 应用程序中屏幕尺寸的变化?

javascript - Angular ng-repeat 标签不起作用

javascript - 使用 Webstorm (Babel) 进行 ES6 调试

Javascript classList.add 不工作

html - float 在 div 中不起作用