Каково различие между пространством jQuery и> селекторы?

Сделайте, чтобы они использовали незнакомый API, но сделали, программирование в не-Интернете подключило машину (если можно найти их в эти дни) так, чтобы у них не было доступа к документации API. Это эффективно, что они вынуждают других разработчиков сделать, если они пытаются использовать код non-documenters!

11
задан Shog9 9 December 2009 в 19:20
поделиться

4 ответа

Для:

<ul>
  <li>Item 1</li>
  <li>Item 2
    <ul>
      <li>Item 2.1</li>
      <li>Item 2.2</li>
    </ul>
  </li>
  <li>Item 3</li>
</ul>

Например,

$("ul > li").addClass("blah");

добавляет класс «blah» к 1, 2 и 3, тогда как:

$("ul li").addClass("blah");

добавляет класс «blah» к каждому элементу списка.

Я не уверен, что вы имеете в виду с помощью <и? операторы.

29
ответ дан 3 December 2019 в 01:16
поделиться

В CSS, > означает «прямой потомок»: выбираются только узлы, которые являются прямыми дочерними узлами.

Пробел означает «любой потомок»: direct могут быть выбраны дети и дети этих детей.

Я готов поспорить, что jQuery использует то же соглашение.

10
ответ дан 3 December 2019 в 01:16
поделиться

Как уже упоминалось, пробел выбирает любого потомка, тогда как > выбирает только непосредственных потомков. Если вы хотите выбрать только внуков или правнуков, вы можете использовать это:

#foo > * > * > .bar

(все элементы с классом «bar», которые являются правнуками элемента с идентификатором «foo»)

2
ответ дан 3 December 2019 в 01:16
поделиться

посмотрите на это...

$(".testit > a") //match the first <a> tag below
$(".testit a") // matches all <a> tag below

<p class="testit">
  <a href="#">All the rules will match this</a>
  <span>
    <a href="#">second rule can only select this</a>
  </span>
</p>
2
ответ дан 3 December 2019 в 01:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: