querySelectorAll NodeList未定义

时间:2015-12-14 15:10:21

标签: javascript

在这段代码中,问题数组是空白的,这是我的第一个问题。我相信' ol li'选择器应选择有序列表中的所有列表项。第二,即使我有一个数组(目前被注释掉),我也无法为它添加一个id,显示在for循环中的第一行代码上。

function setUp()
{
    var questions = document.querySelectorAll('ol li');
    /*var questions = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];*/
    for (var x = 0; x < questions.length; x++)
    {
        questions[x].id = x + 'phrase';
        onmousedown(showEnglish(questions));
        onmouseup(showFrench(questions));
        onmouseover.style.cursor = 'pointer';
    }
}

function showEnglish()
{
    var phraseNumber = parseInt(parent.questions.id);
    document.getElementsById(phraseNumber).innerHTML = english[phraseNumber];
    english[phraseNumber].style.fontStyle = 'italic';
    english[phraseNumber].style.color = 'rgb(191,22,31)';
}

1 个答案:

答案 0 :(得分:0)

document.querySelectorAll(&#39; ol li&#39;)将选择有序列表中的所有列表项。您需要解释何时调用函数 setUp 。如果在DOM中呈现这些元素之前调用此函数,则该数组可能为空。

我不明白你问题的第二部分。你说你正在使用以下数组

 questions = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

并尝试为其添加ID?

如果是,则会抛出错误。在迭代问题数组的原因中,您获得的元素问题[x] 是一个字符串,然后您将问题[x] .id 分配给某个值。您将收到错误,因为问题[x] 是字符串而不是对象。

希望它可以帮助你!