我正在做一个测验。我需要循环遍历<li>
选项数组,并将click事件监听器添加到正确的答案中。在下面的代码中,正确的答案是5,但实际上它会改变。所以我需要将click事件监听器添加到第5 <li>
。
var someFunction = function() {
var correctAnswerNo = "5";
var options = optionsContainer.getElementsByTagName("li");
for (var i = 0; i < options.length; i++) {
console.log(i);
console.log(correctAnswerNo);
if (correctAnswerNo === i) {
console.log(this);
// here is where I will put my event listener
}
}
}
当我退出correctAnswerNo
和i
时,它按预期工作。但是,当我记录this
时,我得到了未定义。我需要访问this
才能将click事件添加到其中。
答案 0 :(得分:0)
不是向this
添加事件监听器,而是将其添加到options[i]
if
您的if
条件将类似于
if (correctAnswerNo === i) {
options[i].addEventListener("click", function() {
console.log("correct answer");
});
}