2011-10-19 8 views
0

私のテーブルの下にhrefリンクがあり、そのリンクをクリックしてテーブルの行を操作できるようにしたいが、私はそれらを得ることができない!ここ

私のHTMLは、私が何かやりたい

<div> 
    <div> <a href="#remove" class="removelink" > remove </a> </div> 

    <table> 
    <tr> <td></td> </tr> 
    </table> 
</div> 

です:私は

$(this).parent().siblings('table') 

によってテーブルに着くことができますが、私は何かに行を取得カント

$('.removelink').click(function(){ 
$(this).parent().siblings('table tr:last').remove(); 
}) 

をlike

$(this).parent().siblings('table tr') 
+0

あなたのjQueryのコードは正常に動作します。 JsFiddleを参照してください。http://jsfiddle.net/Yd49H/ –

+0

@NullPointer:これは何らかの理由でテーブル全体を削除します。 –

+0

@ Felix.Thanks ..気づいたことはありませんでした。 –

答えて

2

あなたはtableからtrを取得するfindを使用することができます。

$('.removelink').click(function(){ 
    $(this).parent().siblings('table').find('tr:last').remove(); 
}); 

ここworking exampleです。あなたのHTML構造が常にあなたが示した通りであれば、siblings('table')の代わりにnext()を少し短めのコードに使うことができます。

現在のコードの問題は、siblings('table tr')trであるdivの兄弟を探していることです。

0
var $context = $(this).parent().siblings('table'); 
$("tr:last", $context); 
1

.siblings(selector)セレクタに一致する特定の要素のすべての兄弟を返します。

.siblings('table tr')は、コンテキストエレメントが兄弟としてtrエレメントを持っていても、divのエレメントがない場合にのみ何かを返します。

だけ.findを使用します。

$(this).parent().siblings('table').find('tr').last() 
+0

'.remove()'を追加してください:http://jsfiddle.net/Yd49H/2/の結果を見てください。 –

関連する問題