0
进行测验。我需要循环访问<li>
的一系列选项,并将点击事件侦听器添加到正确的答案中。在下面的代码中,正确的答案是5,但实际上它会改变。所以我需要将点击事件监听器添加到5th <li>
。这在一个循环中的香草javascript?
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
才能将点击事件添加到它。
你不需要循环。只是用'options [4]'得到第五个元素'(索引从0开始,这就是为什么4是第五个元素) –
_但实际上它会改变 - 如果它没有硬编码,使用'options [i] .addEventListener(type, listener [,options]);'https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener – jtrein
而不是将事件侦听器添加到'this',将它添加到'options [i] '如果'内部 – gurvinder372