在这段代码中,问题数组是空白的,这是我的第一个问题。我相信' 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)';
}
答案 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] 是字符串而不是对象。
希望它可以帮助你!