jQuery: Селекторы, часть 1

Справочники

Рисунок jQuery: Селекторы, часть 1
x;z-index:1 }
jQuery: Селекторы, часть 1 jQuery: Селекторы, часть 1
оценка: 4.2 из 5
оценок: 5

Продолжим изучение фреймворка jQuery. В этом материале рассмотрим селекторы jQuery, котрые дают очень широкую возможность поиска элементов DOM документа. Можно использовать довольно сложные комбинации выборки всего одной строкой.

В основном, селекторы jQuery используют структуру выборки, соответствующую спецификации CSS3 W3C. То есть, можно выбирать элементы страницы по классу, уникальному ID-идентификатору, тегу и даже определенному свойству элемента.

Меню разделов материала для быстрого доступа:

selector #id: jQuery

Возвращает элемент с определенным ID-идентификатором. В принципе, во всем документе элемент с определенным ID-идентификатором может быть только 1, но если их несколько, то будет возвращен массив элементов jQuery.

  • id: string - уникальный идентификатор элемента.

Пример: выводится текст кнопки, на которой щелкнул пользователь.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('#button1').click(function(){
          $('#result').text($('#button1').text());
        });
        $('#button2').click(function(){
          $('#result').text($('#button2').text());
        });
      });
    </script>
  </head>
  <body>
    <div>Была нажата кнопка: <span id="result">нет</span>.</div>
    <button id="button1">Кнопка 1</button>
    <button id="button2">Кнопка 2</button>
  </body>
</html>

К содержанию.

selector element: jQuery

Возвращает элемент по имени тега элемента.

  • element: string - имя тега элемента.

Пример:

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('span').css('background','#00ff00');
      });
    </script>
  </head>
  <body>
    Это пример использования <span>селетора</span> по тегу элемента. Элемент, <span>подсвеченный</span> зеленым, выделен тегом SPAN в тексте.
  </body>
</html>

К содержанию.

selector .class: jQuery

Возвращает элементы с заданным классом.

  • class: string - класс элементов, которые нужно получить.

Пример: скрывает все элементы с классом tohide, если щелкнуть на кнопке.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('button').click(function(){
          $('.tohide').hide();
        });
      });
    </script>
  </head>
  <body>
    <div class="tohide">Пункт 1 (tohide)</div>
    <div class="tohide">Пункт 2 (tohide)</div>
    <div class="nohide">Пункт 3 (nohide)</div>
    <div>Пункт 4 (без класса)</div>
    <div class="tohide">Пункт 5 (tohide)</div>
    <button>Скрыть</button>
  </body>
</html>

К содержанию.

selector .class1.class2: jQuery

Возвращает элементы, в которых существуют все перечисленные классы.

  • class1: string - первый класс для выборки.
  • class2: string - второй класс для выборки.

Пример: выделяет красной рамкой элемент, в котором присутствуют оба перечисленных в селекторе класса class1 и class2.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('button').click(function(){
          $('.class1.class2').css('border','3px solid red');
        });
      });
    </script>
  </head>
  <body>
    <div class="class1">Пункт 1 (class1)</div>
    <div class="class1 class2">Пункт 2 (class1 и class2)</div>
    <div class="class3">Пункт 3 (class3)</div>
    <div>Пункт 4 (без класса)</div>
    <div class="class2">Пункт 5 (class2)</div>
    <button>Выделить</button>
  </body>
</html>

К содержанию.

selector *: jQuery

Возвращает все элементы документа.

Пример: выделяет красной рамкоы все элементы страницы (включая HEAD, BODY).

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('*').css('border','1px solid #ff0000');
      });
    </script>
  </head>
  <body>
    <div>DIV-блок. <span>Внутри SPAN-элемент</span>.</div>
    <p>Параграф P
    <ul>
      <li>Пункт 1</li>
      <li>Пункт 2</li>
      <li>Пункт 3</li>
    </ul>
  </body>
</html>

К содержанию.

selector Selector1, Selector2, SelectorN: jQuery

Возвращает элементы, которые соответветствуют хотя бы одному из переданных функции селекторов. Комбинации селекторов могут быть любыми. Количество возможных селекторов не ограничено.

  • Selector1: selector - селектор 1
  • Selector2: selector - селектор 2
  • SelectorN: selector - селектор N

Пример: выделяет красной рамкой элементы с классом class2, элементы SPAN внутри элемента с классом class2 и элемент DIV.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('.class2, .class2 span, div').css('border','1px solid #ff0000');
      });
    </script>
  </head>
  <body>
    <p class="class1">P Class 1
    <p class="class2">P Class 2, <span>внутри SPAN</span>
    <div class="class3">DIV Class 3, <span>внутри SPAN</span></div>
    <div>DIV без класса</div>
  </body>
</html>

К содержанию.

selector Selector1 Selector2: jQuery

Возвращает элементы, которые соответствуют Selector2, которые, в свою очередь, являются потомками Selector1.

  • Selector1: selector - селектор родительского элемента.
  • Selector2: selector - селектор дочернего элемента.

Пример: выделяет красной рамкой элемент SPAN, который является потомком элемента DIV с классом class1.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('div.class1 span').css('border','1px solid #ff0000');
      });
    </script>
  </head>
  <body>
    <div>Элемент DIV без класса <span>с элементом SPAN</span></div>
    <p>Элемент P без класса</p>
    <div class="class1">Элемент DIV с классом class1 <span>с элементом SPAN</span></div>
    <p class="class1">Элемент P с классом class1 <span>с элементом SPAN</span></p>
    <div class="class1">Элемент DIV с классом class1</div>
  </body>
</html>

К содержанию.

selector Parent > Child: jQuery

Возвращает все элементы, соответствующие элементу Child, которые, в свою очередь, являются непосредственно дочерними к элементам Parent.

  • Parent: selector - селектор родительского элемента.
  • Child: selector - селектор дочернего элемента.

Пример: выделяет зеленым все элементы SPAN, которые являются дочерними непосредственно к элементу DIV.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('div > span').css('background','#00ff00');
      });
    </script>
  </head>
  <body>
    <div>Элемент DIV, <span>Вложенный SPAN</span></div>
    <div>Элемент DIV, <b>Вложенный B</b></div>
    <div>Элемент DIV, <span>Вложенный SPAN</span></div>
    <div>Элемент DIV, <b>Вложенный B, <span>Вложенный в B элемент SPAN</span></b></div>
    <div>Элемент DIV</div>
  </body>
</html>

К содержанию.

selector Prev + Next: jQuery

Возвращает элемент Next, который следует за элементом Prev.

  • Prev: selector - селектор элемента, за которым идет нужный элемент.
  • Next: selector - селектор элемента, который идет вслед за элементом в селекторе Prev.

Пример: выделяет зеленым элемент P, который следует за элементом DIV.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('div + p').css('background','#00ff00');
      });
    </script>
  </head>
  <body>
    <div>Элемент DIV</div> <p>Элемент P</p>
    <hr>
    <p>Элемент P</p> <div>Элемент DIV</div>
    <hr>
    <div>Элемент DIV <p>Вложенный в DIV элемент P</p></div>
  </body>
</html>

К содержанию.

selector Prev ~ Siblings: jQuery

Возвращает все элементы Siblings, которые следуют за элементом Prev.

  • Prev: selector - селектор элемента, за которым идут нужные элементы.
  • Siblings: selector - селектор элементов, которые нужно вернуть.

Пример: выделяет красной рамкой все элементы DIV, которые следуют за элементом с ID = mydiv.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('#myid ~ div').css('border','3px dotted red');
      });
    </script>
  </head>
  <body>
    <div>Элемент DIV 1 </div>
    <div id="myid">Элемент DIV 2 (id = myid) </div>
    <div>Элемент DIV 3 <div>Элемент DIV внутри DIV 3 </div></div>
    <p>Элемент P <div>Элемент DIV внутри P </div></p>
    <div>Элемент DIV 4 </div>
  </body>
</html>

К содержанию.

selector Select:first: jQuery

Возвращает первый элемент из выборки, которая соответствует селектору Select.

  • Select: selector - стандартный селектор.

Пример: меняет фон первой ячейки всех таблиц.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('td:first').css('background','#00ff00');
      });
    </script>
  </head>
  <body>
    <table width="400" border="1">
      <tr>
        <td width="200">Ячейка 11</td>
        <td width="200">Ячейка 12</td>
      </tr>
      <tr>
        <td width="200">Ячейка 21</td>
        <td width="200">Ячейка 22</td>
      </tr>
    </table>
  </body>
</html>

К содержанию.

selector Select:last: jQuery

Возвращает последний элемент из выборки, которая соответствует селектору Select.

  • Select: selector - стандартный селектор.

Пример: меняет фон последней ячейки всех таблиц.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('td:last').css('background','#00ff00');
      });
    </script>
  </head>
  <body>
    <table width="400" border="1">
      <tr>
        <td width="200">Ячейка 11</td>
        <td width="200">Ячейка 12</td>
      </tr>
      <tr>
        <td width="200">Ячейка 21</td>
        <td width="200">Ячейка 22</td>
      </tr>
    </table>
  </body>
</html>

К содержанию.

selector Select1:not(Select2): jQuery

Возвращает элементы, соответствующие селектору Select1, отсеивая элементы, которые соответствую Select2.

  • Select1: selector - селектор выбора элементов.
  • Select2: selector - фильтрующий селектор (то, что не нужно выбирать).

Пример: выбирает все элементы с классом myclass, которые не являются элементами P.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('.myclass:not(p)').css('border','3px solid #00ff00');
      });
    </script>
  </head>
  <body>
    <div class="myclass">DIV 1 (класс myclass)</div>
    <div class="myclass">DIV 2 (класс myclass) <div>DIV внутри DIV 2 </div></div>
    <p class="myclass">P 1 (класс myclass) </p>
    <div>DIV 3 </div>
    <span class="myclass">SPAN 1 (класс myclass)</span>
  </body>
</html>

К содержанию.

selector Select:even: jQuery

Выбирает четные элементы, начиная с нуля.

  • Select: selector - селектор, четные элементы которого нужно вернуть.

Пример: меняет цвет фона каждого четного элемента DIV.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('div:even').css('background','#cccccc');
      });
    </script>
  </head>
  <body>
    <div>DIV №1</div>
    <div>DIV №2</div>
    <div>DIV №3</div>
    <div>DIV №4</div>
    <div>DIV №5</div>
  </body>
</html>

К содержанию.

selector Select:odd: jQuery

Выбирает нечетные элементы, начиная с еденицы.

  • Select: selector - селектор, нечетные элементы которого нужно вернуть.

Пример: меняет цвет фона каждого нечетного элемента DIV.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('div:odd').css('background','#cccccc');
      });
    </script>
  </head>
  <body>
    <div>DIV №1</div>
    <div>DIV №2</div>
    <div>DIV №3</div>
    <div>DIV №4</div>
    <div>DIV №5</div>
  </body>
</html>

К содержанию.

selector Select:eq(Index): jQuery

Выделяет элемент с определенным индексом из набора, соответствующего селектору Select.

  • Select: selector - селектор группы элементов.
  • Index: Number - номер элемента, который нужно получить из группы. Нумерация выбранных элементов начинается с нуля.

Пример: меняет цвет шрифта на красный первого элемента DIV.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('div:eq(1)').css('color','red');
      });
    </script>
  </head>
  <body>
    <div>Элемент № 0</div>
    <div>Элемент № 1</div>
    <div>Элемент № 2</div>
    <div>Элемент № 3</div>
  </body>
</html>

К содержанию.

selector Select:gt(Index): jQuery

Отбирает все элементы выборки Select, индекс которых строго больше номера Index.

  • Select: selector - селектор, из которого нужно сделать выборку элементов.
  • Index: Number - индекс, после которого нужно выбрать элементы. Индексы начинаются с нуля.

Пример: заменяет фон всех ячеек таблицы, расположенные после четвертой.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('td:gt(4)').css('background','green');
      });
    </script>
  </head>
  <body>
    <table border="0">
      <tr><td>Ячейка 0</td><td>Ячейка 1</td><td>Ячейка 2</td></tr>
      <tr><td>Ячейка 3</td><td>Ячейка 4</td><td>Ячейка 5</td></tr>
      <tr><td>Ячейка 6</td><td>Ячейка 7</td><td>Ячейка 8</td></tr>
    </table>
  </body>
</html>

К содержанию.

selector Select:lt(Index): jQuery

Отбирает все элементы выборки Select, индекс которых строго меньше номера Index.

  • Select: selector - селектор, из которого нужно сделать выборку элементов.
  • Index: Number - индекс, до которого нужно выбрать элементы. Индексы начинаются с нуля.

Пример: заменяет фон всех ячеек таблицы, расположенные до четвертой.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('td:lt(4)').css('background','green');
      });
    </script>
  </head>
  <body>
    <table border="0">
      <tr><td>Ячейка 0</td><td>Ячейка 1</td><td>Ячейка 2</td></tr>
      <tr><td>Ячейка 3</td><td>Ячейка 4</td><td>Ячейка 5</td></tr>
      <tr><td>Ячейка 6</td><td>Ячейка 7</td><td>Ячейка 8</td></tr>
    </table>
  </body>
</html>

К содержанию.

selector Select:header: jQuery

Этот селектор отбирает из совокупности элементов только заголовки H1, H2, H3, H4 и H5.

  • Select: selector - селектор, из элементов которого нужно отобрать заголовки.

Пример: выделяет зеленым цветом фон всех заголовков из набора элементов с классом sel.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('.sel:header').css('background','green');
      });
    </script>
  </head>
  <body>
    <table border="0">
      <h1 class="sel">Заголовок 1</h1>
      <p class="sel">Текст 1
      <h1 class="sel">Заголовок 2</h1>
      <p class="sel">Текст 2
      <h1>Заголовок 3</h1>
      <p class="sel">Текст 3
    </table>
  </body>
</html>

К содержанию.

selector Select:animated: jQuery

Выделяет элементы, которые в данный момент выполняют анимацию.

  • Select: selector - селектор элементов, среди которых нужно выбрать анимированный.

Пример: выделяет зеленым фоном элементы, которые в данный момент анимированы.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      aimateDiv = function(ind){
        if(ind==3) ind=-1;
        $('div').eq(ind).toggle('slow',function(){aimateDiv(ind+1);});
      }
      $(function(){
        $('button').click(function(){
          $('div').css('background','white');
          $('div:animated').css('background','green');
        });
        aimateDiv(0);
      });
    </script>
  </head>
  <body>
    <button>Выделить анимацию</button>
    <div>Элемент № 1</div>
    <div>Элемент № 2</div>
    <div>Элемент № 3</div>
    <div>Элемент № 4</div>
  </body>
</html>

К содержанию.

selector Select:contains(Text): jQuery

Выбирает элементы, которые содержат внутри себя заданный текст.

  • Select: selector - селектор элемента, который должен содержать заданный текст.
  • Text: String - текст, который должен содержать выбранный елемент или элементы.

Пример: выделяет красным цветом шрифт элемента P содержащего текст "селектор", и выделяет серым цветом фон элемента P, содержащего текст "пример".

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('p:contains("селектор")').css('color','red');
        $('p:contains("пример")').css('background','#cccccc');
      });
    </script>
  </head>
  <body>
    <p>Привет! Это пример селектора.</p>
    <p>Тестируется селектор поиска элемента с текстом</p>
    <p>Селектор регистрозависим.</p>
    <p>Пример закончен.</p>
  </body>
</html>

К содержанию.

selector Select:empty: jQuery

Возвращает элементы, соответствующие селектору Select, которые не содержат в себе других элементов и текста, включая пробел.

  • Select: selector - селектор элементов, которые нужно вильтровать.

Пример: выделяет красной рамкой пустой элемент.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('div')
          .css('height','20px')
          .css('border','1px solid #cccccc')
          .css('margin','5px')
        ;
        $('div:empty').css('border','1px solid red');
      });
    </script>
  </head>
  <body>
    <div>Текст 1</div>
    <div><span></span></div>
    <div></div>
    <div>Текст 2</div>
    <div> </div>
  </body>
</html>

К содержанию.

selector Select1:has(Select2): jQuery

Выбирает элементы, которые соответствуют селектору Select1, в которых находится элемент, соответствующий селектору Select2.

  • Select1: selector - селектор искомого элемента.
  • Select2: selector - селектор элемента, который должен содержаться в элементе Select1.

Пример: выделяет красной рамкой элемент DIV, который содержит в себе элемент SPAN.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('div')
          .css('height','20px')
          .css('border','1px solid green')
          .css('margin','5px')
        ;
        $('div:has("span")').css('border','1px solid red');
      });
    </script>
  </head>
  <body>
    <div>Элемент DIV 1</div>
    <div>Элемент DIV 2. <span>Элемент SPAN 1</span></div>
    <div>Элемент DIV 3</div>
    <div>Элемент DIV 4</div>
    <div>Элемент DIV 5</div>
  </body>
</html>

К содержанию.

selector Select:parent: jQuery

Выбирает все элементы, соответствующие селектору Select, которые содержат в себе любой элемент, включая текст. Попросту говоря, выбирает непустые элементы.

  • Select: selector - селектор элемента, который нужно найти.

Пример: выделяет красной рамкой все элементы, которые содержат в себе другой элемент.

Code
<html>
  <head>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $('p')
          .css('border','1px solid red')
          .css('height','20px')
        ;
        $('p:parent').css('background','#cccccc');
      });
    </script>
  </head>
  <body>
    <div>Элемент DIV 2. <p>Элемент P 1</p></div>
    <p>Элемент P 2</p>
    <pre><p>Элемент P 3</p></pre>
    <pre><p> </p></pre>
    <p></p>
  </body>
</html>

К содержанию.

Вы можете присоедениться к моему микроблогу в Твиттере @SzenProgs. Буду благодарен, если оцените мой труд, и щелкните по звездочкам ниже.

x;z-index:1 }


jQuery: Селекторы, часть 1
Справочники
Скрипты, инструкции, справочники


Для работы понадобится jQuery.

rss
Категория:Справочники
Просмотрено:12066
Рейтинг:4.2/5
Дата добавления:2010-10-16 13:58, Суббота
Добавил:Szen
Теги:jQuery справка

Мини-форум

№ 02010-10-16 13:58
Szen
Аватар участника Szen
Здесь вы можете задать вопрос или оставить комментарий по теме "jQuery: Селекторы, часть 1".
Гость
Учавствовать в обсуждении "jQuery: Селекторы, часть 1" могут только зарегистрированные пользователи.
Реклама
Кнопка портала
Посетители
Зарегистрированных посетителей не было.
Друзья портала
Вакантное место для вашей рекламы!
RSS лента Блога
RSS лента Каталога файлов
RSS лента Новостей
Будьте в курсе событий.
Введите ваш email:

Личный блок
  • Гость портала.
  • Личных данных нет.
Вход на сайт
Регистрация
Опрос
Ваша оценка дизайна
Всего ответов: 1250
Статистика
Valid HTML 4.01 Transitional

Яндекс цитирования



Онлайн всего: 1
Гостей: 1
Пользователей: 0
Портал SzenProgs.ru © 2008 - 2024 · Условия
Администратор и дизайнер портала: Szen
Хостинг от uCoz