ここから本文です

jQueryでテーブルの最後の行はtr:lastで取得できますが、その1つ前の行を取得する...

hit********さん

2011/2/2722:18:14

jQueryでテーブルの最後の行はtr:lastで取得できますが、その1つ前の行を取得するにはどうすればよいのでしょうか。その行をremove()で削除したいのです。

閲覧数:
12,967
回答数:
2
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

sii********さん

2011/2/2808:57:48

anna_seekさんご紹介の方法とは別解として、

$("tr:last").prev().remove();

このように、隣接する1つ前の要素のjQueryオブジェクトを返す、prevメソッドを使って選択することもできます。また、

$("tr:eq(" + ($("tr").length - 2) + ")").remove();

このようにセレクタでeqを使うという方法もあります。

【参考】
prev([expr]) - jQuery API 1.4.4 日本語リファレンス - StackTrace
http://stacktrace.jp/jquery/api/traversing/prev.html

:eq(index) - jQuery API 1.4.4 日本語リファレンス - StackTrace
http://stacktrace.jp/jquery/api/selectors/eq.html

質問した人からのコメント

2011/2/28 12:27:40

sii_sideさん、anna_seekさん、ご回答ありがとうございます。
trの数を数えて下から2番目、という方法は思いついたのですが、
もっとズバリなものがほしかったのです。質問投稿時に書かないで
失礼しました。prevでとれるんですね! ありがとうございました。

ベストアンサー以外の回答

1〜1件/1件中

ann********さん

2011/2/2722:52:23

var obj = $('table tr');
$(obj[obj.length - 2]).remove();

obj[index]でobjが保持しているtr要素オブジェクトを取得できます。要素数はlengthを見てください。obj.length - 2の位置にある要素が末尾から1つ前の要素になります。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる