html
1<div class="choicesContainer"> 2 <input type="text" maxlength="30" class="choice"> 3 <input type="text" maxlength="30" class="choice"> 4</div> 5<div class="add">追加</div>
javascript
1(function() { 2 'use strict'; 3 4 var add = document.getElementsByClassName('add'); 5 var choicesContainer = document.getElementsByClassName('choicesContainer'); 6 7 add[0].addEventListener('click', function() { 8 var choiceFrame = document.createElement('div'); 9 var delBtn = document.createElement('div'); 10 var input = document.createElement('input'); 11 12 13 choiceFrame.classList.add('choiceFrame'); 14 delBtn.classList.add('delBtn'); 15 input.setAttribute('type', 'text'); 16 input.setAttribute('maxlength', '30'); 17 input.classList.add('choice'); 18 19 delBtn.innerHTML = '×'; 20 choiceFrame.appendChild(input); 21 choiceFrame.appendChild(delBtn); 22 choicesContainer[0].appendChild(choiceFrame); 23 24 25 var choiceBox = document.getElementsByClassName('choiceFrame'); 26 var del = document.getElementsByClassName('delBtn'); 27 28 for(var i = 0; i < del.length; i++) { 29 del[i].addEventListener('click', function() { 30 choiceBox[i].remove(); 31 }) 32 } 33 }) 34})();
「追加」を押すと、inputタグと×印が両方現れます。×印を押すと、×印も消え、さらに一緒に出現してきたinputタグも同時に消えるようにしたいのですが、うまくいきません。
どのように改善すればよいでしょうか?
「うまくいきません」とは何が起きているのでしょうか?実際に起きた現象・問題・エラーなどありましたら追記してください。
「追加」をx回押したときにあらわれるバツ印をXバツ、inputをXinputとします。1バツを押すと2inputが消えたり、2inputと4inputが同時に消えたり、問題はいろいろと生じています。生じる問題の傾向性が自分もよく分かっていないので、言語化が難しいです。お手数ですが、コードをテキストエディタにコピペして実際にどういう動きになるのかを見ていただいた方が分かりやすいかと思われます。
質問は編集できるので追記してください。質問者さんが何をどこまで把握しているかは回答のために必要な情報ですが、こちらのコメント欄はデフォルト非表示で目につきにくいですし質問本文との連動性もとりづらくなるので

回答2件
あなたの回答
tips
プレビュー