2011-08-12 11 views
3

これらの2つの方法の違いは何ですか?jQueryを使用して要素を非表示にする。どの方法を使用する必要がありますか、なぜですか?

$("div span").hide(); 

$("div > span").hide(); 

パフォーマンスへの影響?

+0

このjQueryまたはどのフレームワークを使用していますか? – Shi

+0

これは本当にjQueryのようです。 ;) –

+0

ちょうどアイデア、私は子供の親の選択や典型的な他のものを使用する必要があります、CSSやjQueryかもしれません。重要ではない。 – Jimmy

答えて

12

最初は<span>のすべてが<div>の下にあります。 2番目のコードは、の直下の子である<span>を非表示にします。性能の観点で

jQuery child-selector

+0

パフォーマンスの問題はどちらですか? – Jimmy

+0

どちらも高速です。しかし、2番目のものは '

THIS SPAN

'で動作しませんが、最初のものは動作します。 –

+0

私はそれについて明確に話すことはできません。私が推測しなければならないのであれば、検索範囲が狭い(直接の子供のみ)ので、子セレクタが高速になると思うだろう。直系の子のみが必要な場合は、ツリーの下にある「」を誤って選択しないように、2番目の子を使用します。 –

1

、正確なHTMLに依存し得るが、私はこのjsperf testで約30%高速であることdiv > spanセレクタを見つけました。これは、DOM全体ではなく、各divの子を調べるだけでよいからです。

しかし、ほとんどの場合、速度の違いは十分ではないでしょう。

関連する問題