js
1コード for(let i = 0; i < quizeSet.length; i++){ 2 3 for(var g = 0; g < 3; g++){ 4 h = `<li id="${i}-${g}-1">${quizeSet[i].answers[g]}</li>`; 5 6 let id = `document.getElementById("${i}-${g}-1")` 7 console.log(id); 8 9 } 10 11 document.write(h); 12 }; 13 14 15 16 id.addeventlisner("click",() => { 17 window.alert("ok") 18 }); 19
コードの一部分しかのせていませんが、
上のようにfor文で作った30個のidにaddeventlisnerを付けたいのですが、つけることができません。
consoleで確認してみるとidは30こ取得できているようです。
質問としましては
idの取得の方法(もっといい方法があれば)と、複数のidに対するイベントの付け方を教えていただきたいです。
また、 let id = document.getElementById("${i}-${g}-1")
をfor文の外でやろうとすると、iとjが定義されてませんとエラーが出てしまいます。
for文にはスコープがないと書かれていたので、なぜこのようなエラーが出でしまうのかわかりません。
何か解決策がありましたら、教えていただきたいです