JavaScriptの文字列にaddEventListenerしたいです。
正確には、文字列をなにかに変換して、addEventListenerしたいというべきでしょうか・・・。
HTMLは以下です。
html
1<div id="abc1">ボタン</div>
上記のabc1にJavaScriptでaddEventListenerするには、以下でできましたが、
javascript
1// 正常に動く 2abc1.addEventListener("click", callback);
以下のように、abc1の「1」を変数として扱ったうえで、addEventListenerする方法がわかりません。
strをなにかに変換すればよいのでしょうか。
javascript
1let i = "1"; 2let str = "abc" + i; 3// 以下ではだめ 4str.addEventListener("click", callback);
以下のようなHTMLがあって、以下のすべてにaddEventListener("click", callback);を適用したい、ということです。
以下はabc3までですが、abc10まで増えたりもします。
教えて頂けると幸いです。
そもそも何がしたいのか書きませんか? str.addEventListener("click", callback); では逆立ちしても動くはずはないし、議論しても意味がないのですけど・・・
例えば、div 要素が複数あって、その i 番目の要素にリスナをアタッチしたいというようなことなんですか?
以下のようなHTMLがあって、以下のすべてにaddEventListener("click", callback);を適用したい、ということです。
以下はabc3までですが、abc10まで増えたりもします。
<div id="abc1">ボタン</div>
<div id="abc2">ボタン</div>
<div id="abc3">ボタン</div>
質問欄を編集して上記のことを追記してください。
同様な質問を最近 Teratail でも見ました。ググって調べると見つかると思いますのでやってみましょう。それで自己解決できるときっとうれしくて満足度が上がる思います。
ググって、以下のような方法だとできませんでした・・・
もう少し調べてみます。
ありがとうございました。
let t = document.createElement('div');
t.innerHTML = "abc" + i;
t.addEventListener("click", callback);
回答2件
あなたの回答
tips
プレビュー