Фу setAttribute('onclick'), фу clval без var.
<style>
div.a {
padding:5px;
margin: 5px;
background-color: red;
float: left;
}
</style>
<div class="a">1</div>
<div class="a">2</div>
<div class="a">3</div>
<div class="a">4</div>
<div class="a">5</div>
<script>
(function () {
var divs = document.querySelectorAll("div.a");
var handler = function() {
// var index = this.dataset.index;
var index = this.getAttribute('data-index');
alert(index);
}
for (var i = 0; i < divs.length; i++) {
// divs[i].dataset.index = i;
divs[i].setAttribute('data-index', i);
divs[i].onclick = handler;
}
}());
</script>
ES5:
<style>
div.a {
padding:5px;
margin: 5px;
background-color: red;
float: left;
}
</style>
<div class="a">1</div>
<div class="a">2</div>
<div class="a">3</div>
<div class="a">4</div>
<div class="a">5</div>
<script>
(function () {
var divs = document.querySelectorAll("div.a");
var handler = function() {
var index = Array.prototype.indexOf.call(divs, this);
alert(index);
}
for (var i = 0; i < divs.length; i++) {
divs[i].onclick = handler;
}
}());
</script>