2011-10-29 2 views

答えて

5

+0

はい、各テーブル行のボタンによってトリガされるイベントを処理しようとしています。 jqueryでテーブル/行以外の要素を参照する場合は、テーブルから抜け出してこの要素を検索するよりも、トップレベルの要素を検索する方がはるかに簡単です。 – mko

+0

@ジョン:私の編集を参照 – Hogan

0

あなたはいつもこの$.parent()は、親コンテナ

http://api.jquery.com/parent/

またはセレクターによって返されます$.prev()$.next()

を使用することができます(「身体」)は機能しません。

これはどこでも、どのような子供あなたは関係ありません「の中の」あるから使用することができますhttp://api.jquery.com/element-selector/

を参照してください。コメントに基づいて


その他の注意事項:

それは本当にそれぞれのケースによって異なります。相対的な必要性がある場合(ページに複数の表がある場合)、parent()closest()を使用するのが最良の方法です。簡単なページでは、IDで直接要素を検索できます。

二つの例:

使用すると、1つのリストと他の間で要素を移動する二つのリストを持つページ。この機能は2つのリストだけを持つページとして定義されているため、直接的な方法を使用することは理にかなっています。

動的なユーザーリストと、ユーザーのコンテンツ内に要素を動的に追加するページ(動的チャットなど)。この場合、各ユーザーの領域には同じ要素があり、ユーザー領域に対してその領域を変更する必要があるため、relativeを使用します。

+0

HTMLにはbody要素が1つしかなく、より遅く実行されるため、 '#bodyID'を使用する理由はありません。 – Hogan

+0

あなたは正しいですが、私は身体にIDを追加する必要があるie6のバグを覚えています。とにかく私は私の答えを修正しました。 –

0

また、これは確かに実用的ではないですが、あなたは身体一度に参照すべきであると同様に、変数に結果をキャッシュ

element.closest('body'); 

を試すことができます。

body = $('body'); 

してからちょうど参照してください。 body

+1

なぜこれは? HTMLは ''しか持てません。これは '$(" BODY ")'よりはるかに遅く実行されます。 – Hogan

+0

は、「最も近い」と表示したかっただけで、実用的ではないと答えるように更新しました。 –

関連する問題