В jQuery, используя функцию "find", что означает это выражение: $ (". DivName"). Find ('> div') - PullRequest
4 голосов
/ 15 мая 2010

Я понимаю функцию "найти", я просто не знаю, что означает "> div". Кто-нибудь может помочь?

Ответы [ 3 ]

7 голосов
/ 15 мая 2010

Это означает, что все прямые потомки "div" (так что без других элементов между ними)

Итак, если ваш HTML-код:

<div id="id1">
  <div id="id2">
    <div id="id3">
    </div>
  </div>
</div>

$("#id1").find("div") вернет div "id2" и "id3"

$("#id1").find("> div") вернет только div "id2"

3 голосов
/ 15 мая 2010

Если вам проще думать, это эквивалентно использованию .children(), например:

$(".divName").children("div")

Также обратите внимание, что если у вас есть опция, вы должны использовать .children(selector) сверх .find(>selector), это быстрее из-за нескольких шагов выяснить, что > == children удаляется из уравнения (и и .find() оптимизируется для общего назначения).

1 голос
/ 15 мая 2010

Это CSS-селектор, называемый «дочерний комбинатор», что означает, что в вашем случае он выберет всех дочерних элементов div для .divName. Он отличается от "комбинатора потомков" (.find ("div")), который бы выбирал всех потомков div для ".divName".

Источник: http://www.w3.org/TR/css3-selectors/#child-combinators

Примеры с этой страницы:

Следующий селектор представляет элемент p, который является потомком тела:

body> p

В следующем примере объединяются комбинаторы-потомки и дочерние комбинаторы.

div ol> li p

Представляет элемент p, который является потомком элемента li; элемент li должен быть дочерним элементом элемента ol; элемент ol должен быть потомком div. Обратите внимание, что дополнительный пробел вокруг комбинатора ">" пропущен.

На этой же странице вы можете найти список всех селекторов CSS 3: http://www.w3.org/TR/css3-selectors/#selectors

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...