我創建了一個選擇2個div的節點列表。然後我創建一個函數來顯示用戶點擊的div的索引。但輸出總是2.我不知道錯誤在哪裏。循環nodelist中的所有元素時出現錯誤的變量
這只是一個簡單的問題,但它會解決事件內部許多事件的其他複雜問題。謝謝。
HTML:
<div style="background:red; height:50px"></div>
<div style="background:black; height:50px"></div>
的Javascript:
var div = document.getElementsByTagName('div');
for (i = 0; i < div.length; i++) {
div[i].onclick = function() {
alert(i);
}
}
例子: https://jsfiddle.net/vutienphat/tm279uot/
這是一種奇怪的方式來設置你的div的功能。在用戶點擊之前,代碼是否會一直循環通過div集合? (這意味着頁面上的div數量將始終是警報,而不是div的索引) –