Подтвердить что ты не робот

В чем разница прямых потомков (>) и потомок в селекторах jQuery?

Какая разница между этими двумя операторами jQuery? Они, похоже, делают то же самое, получая все теги div детей.

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

Ответ 1

$("#mainblock > div")= уровень только для детей

$("#mainblock div")= все дочерние + десенденты.

Ответ 3

Первый получит весь div потомок #mainblock. Второй получит все div, которые являются непосредственными дочерними элементами #mainblock

Ответ 4

$("#mainblock div")

Этот объект предназначен для всех DIV внутри "#mainblock" , независимо от того, является ли он прямым дочерним элементом "#mainblock" , или дочерним элементом дочернего элемента основного блока или так далее.

$("#mainblock > div")

Это будет нацелено только на прямые дочерние DIVs "#mainblock" и игнорировать другие DIV. Это быстрее, чем выше, если у вас есть только прямые дети. Потому что он не пытается найти внутри других элементов childs.

Ответ 5

$("#mainblock div")

Соответствует любому элементу div, являющемуся потомком #mainblock.

$("#mainblock > div")

Соответствует любому элементу div, который является дочерним элементом #mainblock.

проверить http://www.w3.org/TR/CSS2/selector.html

Ответ 6

Первый выбирает любой div, который является дочерним элементом `#mainblock 'на любом уровне. Второй будет выбирать любой div, который является непосредственным потомком.

Смотрите ссылку для получения дополнительной информации о селекторе CSS >, который ведет себя так же, как в jQuery.

Ответ 7

$( "# mainblock div" ) найти все div в #mainblock

$( "# 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