質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

2回答

1865閲覧

最終要素かどうかをjQueryのeqで判定して、最終要素を削除したい

study_m

総合スコア24

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2018/04/26 16:58

前提・実現したいこと

下記関連質問で質問している内容について、最終要素の取得方法を模索しています。
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("最終じゃない"); } }); }); });

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2018/04/26 17:02

過去の質問について、「解決済」になっていないものが多数見受けられます。解決したものは「ベストアンサー」を選び、自力で解決した場合はその方法を解答欄に書き、もし万が一解決していないのであれば質問を編集するなどしてみてください。
m.ts10806

2018/04/26 21:27

関連質問のリンクを設置してください。
m.ts10806

2018/04/27 01:18 編集

あと、前の質問で何がどう分からなかったのかも追記してください。もし同問題なのであれば本来は新しく質問をたてるべきではありません。(一応、私の回答の編集履歴を見ればサンプルコードが確認できるはずですが、そちらは動作確認してみたのでしょうか?)
guest

回答2

0

こんな感じで

javascript

1$(function(){ 2 $('body').append( 3 $('<div>').append( 4 $('<input>').attr({'type':'button','id':'button1'}).val('new button')) 5 ).append( 6 $('<div>').addClass('btnAreaChild') 7 ); 8 $('#button1').on('click',function(){ 9 $('.btnAreaChild').append( 10 $('<div>').append( 11 $('<input>').addClass('childBtn').attr('type','button').val('b'+($('.childBtn').length+1)) 12 ) 13 ); 14 }); 15 $('.btnAreaChild').on('click','.childBtn',function(){ 16 if($('.childBtn').index(this)==$('.childBtn').length-1){ 17 console.log('last'); 18 }else{ 19 console.log('not last'); 20 } 21 }); 22});

投稿2018/04/27 00:51

yambejp

総合スコア114769

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

投稿2018/04/26 18:33

fjaiofjawiefjaw

総合スコア210

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問