Jquery> Селектор - PullRequest
       4

Jquery> Селектор

4 голосов
/ 28 июня 2010

В этом примере (который работает) при нажатии кнопки раздел переключается на видимый / невидимый.Отлично, но что на самом деле делает код в строке 2?Я нашел ссылку на: eq (0) part здесь, на jQuery.com , но '>' я понятия не имею.Под firebug не имеет значения, есть ли «>» или нет.

 $("#btnHideShow").click(function() {
                 $("> :eq(0)", "#toggleGrid").toggle("blind");
                 if ($("#btnHideShow").val() == "Hide List") {
                     $("#btnHideShow").val('Show List');
                 } else {
                     $("#btnHideShow").val('Hide List');
                 };
             });

Ответы [ 4 ]

5 голосов
/ 28 июня 2010

Насколько я знаю, вы используете > для указания прямого потомка, в отличие от любого потомка.

Дано:

<div class="parent">
  <ul class="child">
    <a href="#">foo</a>
    <a href="#">bar</a>
  </ul>
</div>

.parent a будет соответствовать двум ссылкам, а .parent > a - нет, так как они не являются прямыми потомками. Аналогично, .parent > .child также будет соответствовать, как и .child > a.

В указанном вами коде вы соответствуете прямым потомкам #toggleGrid. Если у вас есть только прямые дети, вы можете не заметить разницу, если > включен или нет - но вам, возможно, понадобится указать это конкретно позже.

Мне всегда трудно вставлять код других людей - хорошо, что вы пытаетесь понять его:)

Проверьте эту статью , если вам нужна дополнительная информация.

3 голосов
/ 28 июня 2010

Это дочерний селектор для прямых дочерних элементов ссылочного элемента.Строка эквивалентна (и лучше написано, IMO):

$('#toggleGrid > :first').toggle('blind');
0 голосов
/ 28 июня 2010

Согласно SelectORacle, > без предшествующего ему селектора выбирает элементы, которые являются дочерними по отношению к любому другому элементу. Таким образом, этот селектор выглядит так, как будто он будет означать первый дочерний элемент любого элемента, найденного в элементе "toggleGrid".

SelectORacle здесь: http://penguin.theopalgroup.com/cgi-bin/css3explainer/selectoracle.py, но обратите внимание, что он не понимает jQuery-измы.

edit & mdash; на самом деле, хотя я оставлю здесь ссылку SelectORacle, я ошибаюсь, потому что я перепутал с: "eq (0)"; это не то же самое, что ": первый ребенок" Таким образом, @tv и др. Верны, и это только первое, что является дочерним элементом в «toggleGrid».

0 голосов
/ 28 июня 2010

> является дочерним селектором:

5.6 Дочерние селекторы Дочерний селектор совпадает, когда элемент является дочерним по отношению к некоторому элементу. Дочерний селектор состоит из двух или более селекторов, разделенных «>».

Пример (ы):

Следующее правило устанавливает стиль всех элементов P, которые являются потомками BODY:

body> P {line-height: 1.3} Пример (ы):

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

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

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