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