19

これら 2 つの jQuery ステートメントの違いは何ですか? すべての子 div タグを取得することで、同じことをしているようです。

$("#mainblock div")
$("#mainblock > div")
4

7 に答える 7

22

$("#mainblock > div")=子供のみのレベル

$("#mainblock div")=すべての子供+子孫。

于 2012-04-19T07:05:14.393 に答える
6

jQueryセレクターをご覧ください

Child Selector ("parent > child")--Hierarchy「parent」で指定された要素の「child」で指定されたすべての直接の子要素を選択します。

Descendant Selector ("ancestor descendant")- 階層特定の祖先の子孫であるすべての要素を選択します。

于 2012-04-19T07:05:21.563 に答える
5
$("#mainblock div")

これは、「#mainblock」の直接の子、またはメインブロックの子の子などに関係なく、「#mainblock」内のすべてのDIVを対象とします。

$("#mainblock > div")

これは、「#mainblock」の直接の子DIVのみを対象とし、他のDIVを無視します。直接の子供しかいない場合、これは上記よりも高速です。それは子供の他の要素の中を見つけようとしないからです。

于 2012-04-19T07:19:37.177 に答える
3

最初のものは、のすべてdivの子孫を取得し#mainblockます。2つ目divは、の直接の子であるすべてのを取得します#mainblock

于 2012-04-19T07:05:12.093 に答える
3

$("#mainblock div") #mainblock の下のすべての div を検索

$("#mainblock > div") はその子のみを見つけました

以下の HTML 構造があるとします。

    <div id="mainblock"> 
      <div>
        <div></div> 
        <div></div>
      </div>
     <div></div>
     <div></div>
   </div>

それで

$("#mainblock div").length = 5
$("#mainblock > div").length = 3
于 2016-04-22T13:01:46.720 に答える
2
$("#mainblock div")

#mainblockの子孫である任意のdiv要素に一致します。

$("#mainblock > div")

#mainblockの子である任意のdiv要素に一致します。

http://www.w3.org/TR/CSS2/selector.htmlを確認してください

于 2012-04-19T07:06:30.807 に答える
1

最初のものは、任意のレベルで`#mainblock'の子である任意のdivを選択します。2つ目は、直接の子であるdivを選択します。

jQueryと同じように動作するCSSセレクターの詳細については、このリンクを参照してください。>

于 2012-04-19T07:06:49.683 に答える