:first — выбирает первый элемент соответствующего селектора. Пример:
| $(«tr:first»).css(«font-style», «italic»); |
Данная инструкция напишет курсивом первую строку таблицы.
:last — выбирает последний элемент соответствующего селектора. Пример:
| $(«tr:last»).css(«font-style», «italic»); |
Данная инструкция напишет курсивом последнюю строку таблицы.
:even — выбирает четные элементы, начиная с нуля. Пример:
| $(«tr:even»).css(«font-style», «italic»); |
Данная инструкция напишет курсивом все четные строки таблицы (т.к. нумерация идет с нуля, то зрительно кажется, что нечетные строки).
:odd — выбирает нечетные элементы, начиная с нуля. Пример:
| $(«tr:odd»).css(«font-style», «italic»); |
Данная инструкция напишет курсивом все нечетные строки таблицы (т.к. нумерация идет с нуля, то зрительно кажется, что четные строки).
:eq(index) — выбирает элемент по его индексу (начиная с нуля). Пример:
| $(«td:eq(2)»).css(«font-style», «italic»); |
Данная инструкция напишет курсивом текст второй ячейки таблицы (т.к. нумерация идет с нуля, то зрительно кажется, что третьей ячейки).
:gt(index) — выбирает элементы с индексом больше указанного. Пример:
| $(«td:gt(2)»).css(«font-style», «italic»); |
Данная инструкция напишет курсивом текст во всех ячейках таблицы, начиная со второй (т.к. нумерация идет с нуля, то зрительно кажется, что с третьей ячейки).
:lt(index) — выбирает элементы с индексом меньше указанного. Пример:
| $(«td:lt(4)»).css(«font-style», «italic»); |
Данная инструкция напишет курсивом текст в первых пяти ячейках таблицы.
Как всегда, рассмотрим на примере. Давайте сделаем таблицу, у которой при желании можно будет поменять цвет строк: четные строки будут серыми, а нечетные — синими, а цвет шрифта ячеек, начиная с 5 будет желтым. Напоминаю, что нумерация идет с нуля, поэтому внешне четные и нечетные строки меняются местами, а 5 ячейка зрительно выглядит, как шестая. Этот нюанс нужно запомнить!
Фильтры jQuery
|
Итак, html-код:
<html>
<head>
<title>jQuery</title>
<link rel="stylesheet" type="text/css" href="cascade.css">
<script type="text/javascript" src="jquery-1.7.1.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<table border="1" width="300">
<tr class="tr">
<td class="td">jQuery</td> <td class="td">четная строка</td>
</tr>
<tr class="tr">
<td class="td">jQuery</td> <td class="td">нечетная строка</td>
</tr>
<tr class="tr">
<td class="td">jQuery</td> <td class="td">четная строка</td>
</tr>
<tr class="tr">
<td class="td">jQuery</td> <td class="td">нечетная строка</td>
</tr>
<tr class="tr">
<td class="td">jQuery</td> <td class="td">четная строка</td>
</tr>
<tr class="tr">
<td class="td">jQuery</td> <td class="td">нечетная строка</td>
</tr>
</table><br>
<input type="button"value="Поменять цвет"onclick="addColor3();">
</body>
</html> |
Код самой функции:
function addColor3(){
$("tr:even").css("background-color", "grey");
$("tr:odd").css("background-color", "blue");
$("td:gt(5)").css("color", "yellow");
} |
Продолжим изучение фильтров.
Содержание
Фильтры контента
:header — выбирает все элементы, которые являются заголовками (h1, h2…). Пример:
| $(«:header»).css(«color», «red»); |
Данная инструкция сделает все заголовки красными.
:contains (text) — выбирает элементы, которые содержат переданный текст (text). Пример:
| $(«div:contains(‘New’)»).css(«text-decoration», «underline»); |
Данная инструкция подчеркнет все элементы div-а, содержащие подстроку New.
:empty — выбирает все элементы, которые не содержат потомков (т.е. являются пустыми). Пример:
| $(«td:empty»).text(«Пусто»); |
Данная инструкция найдет все пустые ячейки таблицы и вставит в них текст «Пусто».
:has(selector) — выбирает элементы, которые содержат хотя бы один элемент, указанный в селекторе. Пример:
| $(«div:has(p)»).css(«font-style», «italic»); |
Данная инструкция найдет те div-ы, в которых есть хотя бы один параграф (p) и сделает текст в них курсивом.
:parent — выбирает родительские элементы, т.е. те, у которых есть потомки. Пример:
| $(«td:parent»).css(«font-style», «italic»); |
Данная инструкция найдет все ячейки таблицы, в которых есть текст или еще что-либо, и сделает их шрифт курсивом.
:animated — выбирает элементы, которые в данный момент являются анимированными. Пример:
| $(«div:animated»).css(«border», «1px solid red»); |
Данная инструкция найдет анимированные div-ы и обведет их рамкой.
Фильтры видимости
:hidden — выбирает все скрытые элементы и элементы input, имеющие тип «hidden». Пример:
| $(«div:hidden»).show(); |
Данная инструкция покажет все скрытые div-ы.
:visible — выбирает все видимые элементы. Пример:
| $(«div:visible»).css(«color», «red»); |
Данная инструкция сделает цвет текста в видимых div-ах красным.
Фильтры атрибутов
[attribute] — выбирает все элементы с указанным атрибутом. Пример:
| $(«div[id]»).css(«color», «red»); |
Данная инструкция сделает цвет текста красным во всех div-ах, у которых есть идентификатор (id).
[attribute=value] — выбирает элементы с атрибутом, значение которого соответствует указанному. Пример:
| $(«input[name=’Main’]»).css(«color», «red»); |
Данная инструкция сделает цвет текста красным у input-а с именем «Main».
[attribute!=value] — выбирает элементы с атрибутом, значение которого не соответствует указанному. Пример:
| $(«input[name!=’Main’]»).css(«color», «red»); |
Данная инструкция сделает цвет текста красным у всех input-ов, кроме input-а с именем «Main».
[attribute^=value] — выбирает все элементы, соответствующий атрибут которых начинается с указанного значения. Пример:
| $(«input[name^=’news’]»).css(«color», «red»); |
Данная инструкция сделает цвет текста красным у тех input-ов, атрибуты name которых начинаются с news.
[attribute$=value] — выбирает все элементы, соответствующий атрибут которых заканчивается указанным значением. Пример:
| $(«input[name$=’news’]»).css(«color», «red»); |
Данная инструкция сделает цвет текста красным у тех input-ов, атрибуты name которых заканчивается на news.
[attribute*=value] — выбирает все элементы, соответствующий атрибут которых содержит в качестве подстроки указанное значение. Пример:
| $(«input[name*=’news’]»).css(«color», «red»); |
Данная инструкция сделает цвет текста красным у тех input-ов, атрибуты name которых содержат подустроку ‘news’, неважно вначале, в конце или середине.
[selector1]…[selectorN] — выбирает все элементы, которые имеют указанные атрибуты и соответствующие значения. Пример:
| $(«input[id][name*=’news’]»).css(«color», «red»); |
Данная инструкция сделает цвет текста красным у тех input-ов, у которых есть идентификатор и атрибуты name которых содержат подстроку ‘news’.
Фильтры форм
:enabled / :disabled — выбирает все элементы, имеющие активное (enabled) / запрещенное (disabled) состояние. Пример:
| $(«input:enabled»).css(«color», «red»); |
Данная инструкция сделает цвет текста красным только у активных input-ов.
:checked — выбирает все элементы, которые отмечены. Пример:
| $(«input:checked»).lenght; |
Данная инструкция сосчитает все отмеченные input-ы.
:selected — выбирает все выбранные элементы. Пример:
| $(«select option:selected»).lenght; |
Данная инструкция сосчитает сколько выбрано элементов в списке.
Фильтры потомков
:first-child — выбирает элементы, которые являются первыми потомками своих родителей. Пример:
| $(«div span:first-child»).css(«border», «1px solid blue»); |
Данная инструкция обведет рамкой первый span в каждом div-е.
:last-child — выбирает элементы, которые являются последними потомками своих родителей. Пример:
| $(«div span:last-child»).css(«border», «1px solid blue»); |
Данная инструкция обведет рамкой последний span в каждом div-е.
:only-child — выбирает элементы, которые являются единственными потомками своих родителей. Пример:
| $(«div button:only-child»).css(«border», «1px solid blue»); |
Данная инструкция обведет рамкой те div-ы, которые имеют кнопку и при том, только одну.





