С вопроса "Почему это не работает?" люди обычно начинают изучение замыканий.
function addEvents(divs) {
for(var i=0; i<divs.length; i++) {
divs[i].innerHTML = i
divs[i].onclick = function() { alert(i) }
}
}
Очень понравилась вот эта строчка

. Спасибо, разобрался.