あなたは3つのことに基づいてあなたの決定をすることができます:
読みやすさ
これは、指定された2つのセレクターと大差ありません。$('#id').find('inner')
私の側では、構文が実際に何をしているのかをより正確に記述しているので、構文が好きです。
再利用性
コードの他の部分で同じIDセレクター(またはそのコンテキスト内の何か)を使用している場合は、セレクターをキャッシュして再利用できます。私自身、このように書かれたコードをリファクタリングするのは難しいと感じてい$('#id inner')
ます。先に進んで改善の可能性を見つける前に、まずcssセレクターをデコードする必要があるからです。
それほど複雑ではないこれらの2つのケースを想像してみてください
$('#hello .class_name tag').doThis();
$('#hello .other_name input').doThat();
そして他の場合
$('#hello').find('.class_name tag').doThis();
$('#hello').find('.other_name input').doThat();
2番目の例は「IDセレクターをキャッシュする」と悲鳴を上げると思いますが、最初の例はそうではありません。
スピード
パフォーマンスは常に良い点です。この場合、idセレクターは、find
最初にコンテキストを確立し、要素のより小さなサブセットに降順セレクターを適用できるため、ほとんどのブラウザーでより適切に機能します。
jQueryでのコンテキストとサブセットセレクターのパフォーマンスについて詳しく知りたい場合は、これが優れたパフォーマンステストです。IDのサブセットが一般的に支配します。もちろん、さまざまな結果を得ることができますが、ほとんどの場合、そうなります。
したがって、私の観点からは、サブセットセレクターの場合は3から0です。