2014-12-01 1 views
-4

Я новичок в JQuery кода, и недавно видел такой код:Что означает «>» в ​​jQuery и как его использовать?

var $pages = $('#main > div'); 

это значит $ страниц будет первым ДИВ под #main или все дивы под #main? Если у меня есть HTML-код:

<div id="main"> 
    <div class="sub-div" id="1">1</div> 
     <div id="1a">1a</div> 
    <div class="sub-div" id="2">2</div> 
    <div class="sub-div" id="3">3</div> 
</div> 

так, будет $ страниц будет массив содержит все 3 дивы или только первый?

Кроме того, можно использовать

var $pages = $('#main > div > div'); 

, чтобы получить "1a"?

Большое спасибо!

+1

Возможный дубликат [Что означает селектор CSS> больше чем знак?] (Http://stackoverflow.com/questions/3225891/what-does- the-more-than-sign-css-selector-mean) – zerkms

+0

Это дочерний селектор jQuery - он выбирает прямые потомки указанного родителя. Таким образом, в этом случае будут выбраны только элементы с классом 'sub-div'. http://api.jquery.com/child-selector/ –

+0

Вы читали [все] (http://api.jquery.com/) [документация] (http://api.jquery.com/child-selector /)? –

ответ

0

$ страницы будут все непосредственные дочерние дивы из #main. Если у вас есть

<div id=main> 
    <div id=1> 
     <div id=2></div> 
    </div> 
    <div id=3></div> 
    <div id=4></div> 
    <span id=5> 
     <div id=6></div> 
    </span> 
</div> 

Тогда $('#main > div') будет получать 1, 3 и 4.

Если вы сделали $('#main div') тогда вы найти все соответствующие потомки, а не только непосредственные из них, так что будет соответствовать 1, 2, 3, 4 и 6.

+0

в вашем случае, если у меня есть var $ pages = $ ('# main> div'), тогда у вас есть var page1 = $ pages [0] и var page2 = $ pages [1], выберете «page1» 1 и «page2» выбор 3? –

+0

Да, но используя '$ pages [number]' (или его эквивалент '$ pages.get (number)') будет извлекать объект dom, а не объект jquery. Использование '$ pages.eq (number)' будет извлекать объект jquery. Используйте то, что подходит вашим целям лучше всего! – Paul

0

Он делает то же самое, что и селектор CSS ">" Он возвращает дочерние элементы элемента, которые имеют характеристику, указанную в правой части.

ex.

var $pages = $('#main > div'); 

вернуть бы массив всех div с, которые являются потомками элемента с идентификатором «основными»

поэтому

var $pages = $('#main > div > div'); 

возвратит div S, которые являются детьми из div s элемента с id "main".

только один из дивы на страницах имеет ребенка DIV и является DIV с идентификатором «1a»

Смежные вопросы