有什么区别直系后裔(>)与后代在jQuery选择?(What is the differenc

2019-07-29 01:33发布

什么是这两个jQuery的语句之间的区别? 他们似乎通过让所有的孩子div标签做同样的事情。

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

Answer 1:

$("#mainblock > div") =孩子的唯一水平

$("#mainblock div") =所有孩子的+ desendents。



Answer 2:

看一看jQuery的选择器

Child Selector ("parent > child") -层次选择由“父母”指定元素的“小孩”中规定的所有直接子元素。

Descendant Selector ("ancestor descendant") -层次选择是一个给定的祖先的后代的所有元素。



Answer 3:

$("#mainblock div")

这一目标的所有div内“#mainblock”不管它是“#mainblock”直接子,或主块左右的儿童的孩子。

$("#mainblock > div")

这将针对“#mainblock”的唯一的直接孩子的DIV和忽略其他资料核实。 这是一个快于上述的情况下,你只有直接的孩子的。 因为它不是试图找到孩子的其他元素中。



Answer 4:

第一个将得到所有div第后裔#mainblock 。 第二个将得到所有div S中的的直接子#mainblock



Answer 5:

$("#mainblock div")

匹配任何div元素是#mainblock的后裔。

$("#mainblock > div")

匹配任何div元素是#mainblock的孩子。

检查http://www.w3.org/TR/CSS2/selector.html



Answer 6:

第一个将选择任何的div是`#mainblock”的孩子在任何级别。 第二要选择任何的div是立即的孩子。

看到这个链接有关CSS的详细信息>其行为等同于选择jQuery的 。



Answer 7:

$( “#DIV mainblock”)找到所有下#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


文章来源: What is the difference direct descendent (>) vs. descendant in jQuery selectors?