行とコンタリングセルを含むテーブルがあり、それらの一部には次のような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を返します。
ここで何が欠けていますか?
これにより、要素の直接の親でなくても、その行の次の行である場合でも、要素を囲むtrが得られます。 td内にある要素で親を使用すると、行ではなく列が表示されます。 parent()メソッドにフィルターを提供すると、フィルターと一致する場合を除き、単純に親が除外されます。通常、一致する要素はありません。おそらく最も近いものが必要ですが、ネストしたテーブルがあり、内側の行ではなく外側の行が必要な場合は、parents( 'tr')が必要になる場合があります。
$(this).closest('tr').next('tr')
あなたは本当に十分なHTMLを私たちに見せていませんが、これはうまくいくはずです:
$(ctrl).parent('tr').next();
親要素にidが設定されていなかったのでしょうか?画像から次の行に行くには、あなたができると信じています:
$(this).parent('tr').next('tr')
使えるといいな
jQuery(this).parents('tr');