現在、要素の親の親を見つけようとしています。にあるリンクをクリックし<td>
ていて、<tr>
オブジェクトを取得したいのですが。
「$(this).parent()。parent()」が機能しないのはなぜですか?どうする?
ありがとう、
ブレンダン
編集:それは私の構文のエラーがすべてを捨てていたようです。"$(this).parent()。parent()"は実際には機能しますが、$(this).closest( 'tr')を使用するのは最も効率的なソリューションのようです。
現在、要素の親の親を見つけようとしています。にあるリンクをクリックし<td>
ていて、<tr>
オブジェクトを取得したいのですが。
「$(this).parent()。parent()」が機能しないのはなぜですか?どうする?
ありがとう、
ブレンダン
編集:それは私の構文のエラーがすべてを捨てていたようです。"$(this).parent()。parent()"は実際には機能しますが、$(this).closest( 'tr')を使用するのは最も効率的なソリューションのようです。
回答:
最良の方法はおそらく使用するでしょうclosest
:
$(this).closest('tr');
Closestは、まず現在の要素を調べて、指定された式と一致するかどうかを確認します。一致する場合は、要素自体を返します。一致しない場合は、指定された式に一致する要素が見つかるまで、親ごとにドキュメントを走査し続けます。一致する要素が見つからない場合、何も返されません。
うまくいくはずです。$(this).parents(tag)を試すこともできます。ここで、tagは検索するタグです。
例えば:
$(this).parents("tr:first")
最も近い「チェーンを上る」trを見つけます。
このスニペットは過去に私のために実行しました:
$(this).parent().parent();
どこかに別の問題があるかどうかを確認するためにコードを投稿してください...
$(this).parent().parent()
問題なく使用できます
$(this).parent()を$($(this).parent())のようなjQueryオブジェクトにラップしてみてください。有効なjqueryオブジェクトがあることを確認するために、これを行う必要があることがよくあります。そこから、親の親を手に入れるか、おそらくprev()を使用できるはずです。