Array.prototype.forEach
、.querySelectorAll
およびを使用したネイティブ JavaScript 実装.addEventListener
。
<a>
1つに1つしかない場合<div>
Array.prototype.forEach.call( // for each
document.querySelectorAll('#container a'), // <a> in #container
function (elm, idx, arr) { // get it's info (index etc.) then
elm.addEventListener('click', function () {console.log(idx);}, false);
// make clicking it log it's index
}
);
<a>
または、あたりに多くの s がある場合<div>
Array.prototype.forEach.call( // for each
document.querySelectorAll('#container div'), // <div> in #container
function (elm, idx, arr) { // get it's info (index etc.) then
Array.prototype.forEach.call( // loop over each
elm.querySelectorAll('a'), // <a> in that <div>
function (a_elm, a_idx, a_arr) { // and
a_elm.addEventListener('click', function () {console.log(idx);}, false);
// make clicking it log the index of the <div>
}
);
}
);
ログに記録されたインデックスは最初から始まることに注意0
してください。