2009-07-10 21 views
26

第1レベルの要素のみを選択したいとします。jQuery第1レベルの要素を選択

例:

<div id="BaseElement"> 
    <p>My paragraph 0</p> 
    <div> 
    <span>My Span 0</span> 
    <span>My Span 1</span> 
    </div> 
    <span>MySpan 2</span> 
    <span>MySpan 3</span> 
    <p>My paragraph 1</p> 
</div> 

あなたがBaseElementノードを得たとしましょう。

​​

基本要素ノードのみからノードを取得するにはどうすればよいですか?

$("div#BaseElement span") 

はMySpan 2とMySpan 3.

答えて

47
$("#BaseElement").children("span"); 

または

$("#BaseElement > span"); 

を得ることになるはずであるjQuery selectorschildren()を参照してください。 jQueryのAPIで

8

、それは「子孫」に言及するとき、それはすべてのレベルを意味し、それは子供たちを指したとき、それは最初のレベルのみ

を意味し、これはあなたの中にあなたのすべての最初のレベルの子(取得します例えば最初のP、DIV、2つのスパン、および最後P)

$('#BaseElement > *') 
1

も空間とセレクタで>の違いをWhat is the difference direct descendent (>) vs. descendant in jQuery selectors?を指します。空白はfind()と等しく、>はchildren()と等しくなります。

$("#BaseElement").find("span"); 
$("#BaseElement span"); 
:他の言葉では、以下のペアは
$("#BaseElement").children("span"); 
$("#BaseElement > span"); 

は、すべての子どもたちに加えて彼らの子孫を取得し、等価です