前提・実現したいこと
下記関連質問で質問している内容について、最終要素の取得方法を模索しています。
eqで最終要素かどうか判断して、最終要素だったら削除するようにしたいです。
関連質問「jQueryでフォーカスが当たった最後のボタンを削除したい」
最終要素でないときも
if(maxBtn){~}に入ってしまうため、自分の要素を削除してしまいます。
この部分の解決方法がわかれば判定ができると思うのですが・・・。
かなり詰まっていて、自分のみで解決できないためご教授おねがいいたします。
該当のソースコード
$(document).ready(function () { //ボタンHTML作成 $('body').append('<div class="btnArea" ><input class="addBtn" data-num="0" type="button" id="button1" value="新規ボタン作成" /><div class="btnAreaChild"></div></div>'); // $("#button1").click(function(){ //カウントアップ用属性追加 var num=$(this).attr("data-num"); //カウント num++; $(this).attr("data-num",num); //HTML要素の作成 var addHtml = '<div><input class ="childBtn" type="button" value="ボタン" id = "addBtnChildId"/></div>'; //実際に新規ボタンを作成 $(".btnAreaChild").append(addHtml); var newBtn = $("#addBtnChildId"); //id名を個別に設定 newBtn = $(newBtn).attr("id","btnAreaChild"+ num); newBtn = $(newBtn).attr("value","ボタン:"+ num); //作成ボタンにフォーカスがあたったら $(".childBtn").focus(function(){ //最終要素数を取得 var num = $("#button1").attr("data-num"); //最終ボタンの要素 var maxBtn =$(".childBtn").eq(num-1); // $(maxBtn).parent().remove(); // if(maxBtn){ alert("最終"); $(this).parent().remove(); }else{ alert("最終じゃない"); } }); }); });