質問内容
JavaScriptです。
「cloneNodeで複製された要素の中からクリックされた要素を削除する」という処理をしたいのですが、クリックした要素以外の要素も削除されてしまいます。
要素を5つに複製して3つ目をクリックしたところ、3つ目の要素・4つ目の要素・5つ目の要素が削除されました。
なぜクリックした要素の他に、それ以降の要素まで削除されてしまうのかを知りたいです。また、修正例をいただけますと幸いです。
回答よろしくお願いいたします。
該当のソースコード
HTML
1 <input type="button" value="複製" id="btn"> 2 <ul id="ul"> 3 <li class="li">リスト</li> 4 </ul>
JavaScript
1'use strict'; 2 3const btn = document.getElementById("btn"); 4const ul = document.getElementById("ul"); 5const li = document.getElementsByClassName("li"); 6 7btn.addEventListener("click", function(){ 8 const clone = li[0].cloneNode(true); 9 ul.appendChild(clone); 10 let count = ul.children.length; 11 12 for(let i=0; i<count; i++){ 13 li[i].addEventListener("click", function(){ 14 li[i].remove(); 15 }); 16 } 17});
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/03 08:50
2021/07/03 20:36
2021/07/04 07:15