下記の様なコードで.del
をクリックすると自分の直親要素ごとremove()
され、その結果、.num
要素の採番を1から振りなおしたいと考えております。
しかし、以下の様にコーディングした場合、上記の様な期待した動作が実行できません。console.log(children_elem);//here
を確認する限り、何も要素が取得できないため、remove()をしてしまった時点でvar children_elem = $(this).parents('.parent').children();
が何も取得できなくなってしまっていると推察しました。
そこで、remove()
をする前に var temp_elem = $(this)
を先にしてtemp_elem.each(function
なども考えて実行してみたのですが、やはり実装できませんでした。
やりたいこととしては、要素の削除と採番(この例で言うと数値の再整列)なのですが、何か良い方法はございますでしょうか?
よろしくお願い申し上げます。
html
1<div class="parent"> 2 <div class="child_1"> 3 <span class="num">1</span><span class="del">delete</span> 4 </div> 5 <div class="child_2"> 6 <span class="num">2</span><span class="del">delete</span> 7 </div> 8 <div class="child_3"> 9 <span class="num">3</span><span class="del">delete</span> 10 </div> 11</div>
javascript
1$('.del').on('click',function(){ 2 $(this).parent().remove(); 3 var children_elem = $(this).parents('.parent').children(); 4 console.log(children_elem);//here 5 children_elem.each(function(index,elem){ 6 elem.find('.num').text(index+1); 7 }) 8})
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/28 12:41