28

行を含み、セルを含むテーブルがあります-そして、それらのいくつかには次のようなimgが含まれています:

<img id="FormView1_btnSave_row1%1%new" style="border-width: 0px; cursor: pointer;"
src="grafik/ok_16x16.gif" onclick="cleverStuff(this)"/>

関数cleverStuffでは、ボタンがクリックされた行に続く行で操作したいと思います.この特別なボタンは最後の表示行にのみ含まれています.隠線が表示されますが、次の行に到達できません。私の理解では、 と のすべての組み合わせをparent()使用next()して、img から td、tr、そして最終的に次の tr に到達できるということでした。だから私はこれを確認しようとしました:

$(ctrl).attr('id')imgのIDを正しく返します:)

$(ctrl).parent().attr('id')NULL を返します。

ここで何が欠けていますか?

4

4 に答える 4

89

これにより、要素の直接の親でなくても、要素を囲む tr が得られ、その行の次の行になります。td 内にある要素で親を使用すると、行ではなく列が表示されます。parent() メソッドにフィルターを指定すると、たまたまフィルターに一致しない限り、単に親が除外されます。通常、一致する要素はありません。最も近いのはおそらくあなたが望むものですが、入れ子になったテーブルがあり、内側の行ではなく外側の行が必要な場合は、parent('tr') が必要になる場合があります。

$(this).closest('tr').next('tr')
于 2009-11-02T15:58:19.123 に答える
32

実際には十分な HTML を表示していませんが、これは機能するはずです。

$(ctrl).parent('tr').next();
于 2009-11-02T15:53:06.333 に答える
5

親要素に ID が設定されていない可能性がありますか? 画像から次の行に移動するには、次のことができると思います。

$(this).parent('tr').next('tr')
于 2009-11-02T15:55:00.113 に答える
1

私はあなたが使用できることを願っています

jQuery(this).parents('tr'); 
于 2013-11-24T10:33:41.997 に答える