前提・実現したいこと
htmlで作成したbtnAをクリックすると、JavaScriptによって更にボタンが生成され、そのボタンをクリックすると別の要素が追加されるプログラムを作っています。
html
□btnA
□□(btnB1)【カッコ内は生成した要素】
□□□(div1)
□□□(div2)
□□□(div3)
□□(btnB2)
□□□(div1)
□□□(div2)
□□□(div3)
□□(btnB3)
□□□(div1)
□□□(div2)
□□□(div3)
JavaScript
□1.btnAをクリックするごとにbtnBが1つ生成される
□2.btnBをクリックするごとにdivが1つずつ生成される
生成したbtnBにidをループでつけていくところまでは分かったのですが、生成したbtnBをidで指定する方法が分かりません。
クリックしたbtnBの下にだけdivを追加し、他のbtnBには影響がないようにしたいです。
btnBをidで指定するにはループによって数字が付加されているため、書き方が分かりません。
idではなく、btnB全部に同じクラスをつけてthisで指定したほうがよいのでしょうか。
よろしくおねがいします。
該当のソースコード
html
1<div id="btnA">//btnAをクリックして生成されたbtnB 2 btnA 3</div> 4<div>//btnBparent 5 <div id="btnB1"> 6 btnB1//←このボタンを指定したい 7 </div> 8 <div>//btnB1brother 9 //btnB1をクリックすると生成されるbtnB1brotherの中身のdiv 10 <div id="div1"></div> 11 <div id="div2"></div> 12 <div id="div3"></div> 13 </div> 14</div>
JavaScript
1$(document).on('click', '#ボタンA', function () { 2 i=1; 3 var btnBparent = document.createElement('div'); 4 var btnB = document.createElement('div'); 5 var btnBbrother = document.createElement('div'); 6 $(btnB).attr({class:'btnB',id:'btnB'+i}); 7 i++; 8 btnBparent.appendChild(btnB); 9 btnBparent.appendChild(btnBbrother); 10 //btnBをクリック 11 //※この指定方法が分かりません 12 $(document).on('click', '☆btnB?☆', function () { 13 //div1,2,3を生成 14 var btnBbrotherchild = document.createElement('div'); 15 btnBbrotherchild.appendChild(btnBbrotherchild(div1)); 16 }); 17});
回答1件
あなたの回答
tips
プレビュー