2014-09-05 2 views
-4

Беседуем с JQuery и задаемся вопросом, почему в селекторах есть место. Если у меня есть список, как это:JQuery Selectors Зачем добавлять пробел?

<ul id="list"> 
    <li class="a">item </li> 
    <li class="b">item </li> 
    <li class="c">item </li> 
    <li class="d">item </li> 
</ul> 

И я хочу, чтобы выбрать все Li элементы с классом плохо это сделать:

$('li.a'); 

Но если я хочу, чтобы выбрать все класс b штук, но в пределах ul бирка я пишу это следующим образом:

$('ul .b'); 

Почему есть место?

+0

Пространство делает эквивалент 'find'. например '$ ('ul'). find ('. b');' если это делает его более ясным :) –

+0

Я рекомендую вам сделать небольшое исследование самостоятельно, прежде чем публиковать что-либо. –

+0

oh come on my question was not the bad – Jack

ответ

1

Делая это:

$('li.a'); 

вы соответствие Ли теги с классом

$('ul .b'); 

Этот код будет соответствовать уль-теги и в ул помечает все элементы с б класса

надеюсь, что это полезно.

3

Чтобы указать, что вы выбираете элементы внутри. Нет элементов с.

Итак, вы выбираете li с классом «a» в первом случае и все элементы с классом «b», которые находятся внутри UL во втором случае.

Это совсем другая логика выбора.

0

Пространство здесь объясняет, что элемент с классом b находится внутри элемента ul.

Вы найдете много информации о селекторе CSS (JQuery использовать) here

2

li.a выбрать li элементы с классом a.

ul .b выбрать элементы с классом b, который имеет ul как предок.

(ul > .b выбрать элементы с классом b который имеет ul как родителя.)

0

$('li.a') означает все li с с классом a;

$('ul .b') означает всех потомков ul которые имеют класс b.

0
$('li.a'); // it will select li with a class 

$('ul .b'); it is like $('ul').find('.b'); // select child element of ul