Чтение онлайн

на главную - закладки

Жанры

JavaScript. Подробное руководство, 6-е издание
Шрифт:

Метод

children
возвращает дочерние элементы каждого выбранного элемента, фильтруя результат с применением необязательного селектора:

// Отыскать все элементы <span>, которые являются дочерними для элементов

// с id="header" и id="footer". Тот же результат дает вызов

// $("«header>span,«footer>span")

$("#header, #footer").children("span")

Метод

contents
действует так же, как метод
children,
но возвращает все дочерние узлы, включая текстовые, каждого выбранного элемента. Кроме того, для элементов
<iframe>
метод
contents
возвращает объект
Document
с содержимым этого элемента. Обратите внимание, что метод
contents
не принимает необязательный строковый аргумент с селектором - это обусловлено тем, что он возвращает объекты
Document
, не являющиеся элементами, а селекторы позволяют описывать только элементы.

Методы

next
и
prev
возвращают следующий и предыдущий братский элемент для каждого выбранного элемента, если они имеются. Если методу передать селектор, выбраны будут только братские узлы, соответствующие селектору:

S("h1").next("р") // То же, что и $(”h1+p")

$("h1").prev // Братские элементы перед элементами <h1>

Методы

nextAll
и
prevAll
возвращают все следующие и предыдущие братские элементы (если имеются) для каждого выбранного элемента. А метод
siblings
возвращает все братские элементы для каждого выбранного элемента (элементы не считаются братскими по отношению к самим себе). Если любому из этих методов передать селектор, выбраны будут только братские узлы, соответствующие селектору:

$( "#footer").nextAll("p'') // Все братские элементы <р>, следующие за #footer

$("#footer").prevAll // Все братские элементы, предшествующие #footer

В версии jQuery 1.4 и выше методы

nextUntil
и
prevlIntil
принимают аргумент с селектором и выбирают все братские элементы, следующие за выбранным элементом или предшествующие ему, пока не будет встречен братский элемент, соответствующий селектору. При вызове без селектора они действуют точно так же, как методы
nextAll
и
prevAll
при вызове их без селектора.

Метод

parent
возвращает родителя для каждого выбранного элемента:

$("li").parent // Родители элементов списка, такие как <ul> и <ol>

Метод

parents
возвращает предков (вплоть до элемента
<html>
) для каждого выбранного элемента. Оба метода,
parent
и
parents,
принимают необязательный строковый аргумент с селектором:

S("а[href]”).parents("p") // Элементы <р>, содержащие
ссылки

Метод

parentsUntil
выбирает предков для каждого выбранного элемента, пока не будет встречен первый предок, соответствующий указанному селектору. Метод
closest
принимает обязательный строковый аргумент с селектором и возвращает ближайшего предка (если имеется) для каждого выбранного элемента, соответствующего селектору. Этот метод рассматривает элементы как предки самим себе. В версии jQuery 1.4 методу
closest
можно также передать второй необязательный аргумент, чтобы не дать библиотеке jQuery подняться по дереву предков выше указанного в этом аргументе элемента:

$("a[href]").closest("div") // Самые внутренние элементы <div>, содержащие ссылки

$("а[href]").parentsUntil:not(div)") // Все элементы <div>, непосредственно

// обертывающие элементы <а>

19.8.2.2. Возврат к предыдущему выбору

Чтобы обеспечить возможность составления цепочек вызовов методов, большинство методов объекта

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

Однако на самом деле ситуация несколько сложнее. Когда методы выбора, описанные здесь, создают и возвращают новый объект

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

// Отыскать все элементы <div>, затем внутри множества выбранных элементов отыскать

// элементы <р>. Выделить элементы <р> цветом и затем окружить рамками элементы <div>.

// Сначала рассмотрим, как это сделать без цепочек вызовов методов

var divs = $("div");

var paras = divs.find("p");

paras.addClass("highlight");

divs.css( "border", " solid black 1px");

// А теперь то же самое, составив цепочку вызовов методов

$("div"). find("p").addClass("highlight").end.css("border", "solid black 1px");

// To же самое можно реализовать без вызова метода end, просто переупорядочив операции

Поделиться:
Популярные книги

Древесный маг Орловского княжества 5

Павлов Игорь Васильевич
5. Орловское княжество
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества 5

Воин

Бубела Олег Николаевич
2. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.25
рейтинг книги
Воин

Лондон

Резерфорд Эдвард
The Big Book
Проза:
историческая проза
6.67
рейтинг книги
Лондон

Бояръ-Аниме. Газлайтер. Том 30

Володин Григорий Григорьевич
30. История Телепата
Фантастика:
альтернативная история
аниме
фэнтези
5.00
рейтинг книги
Бояръ-Аниме. Газлайтер. Том 30

Неучтенный элемент. Том 2

NikL
2. Антимаг. Вне системы
Фантастика:
городское фэнтези
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 2

Отход

Видум Инди
4. Петя и Валерон
Фантастика:
рпг
аниме
попаданцы
5.00
рейтинг книги
Отход

Газлайтер. Том 15

Володин Григорий Григорьевич
15. История Телепата
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Газлайтер. Том 15

Хозяин Теней 4

Петров Максим Николаевич
4. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней 4

На границе империй. Том 10. Часть 8

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 8

Старый, но крепкий

Крынов Макс
1. Культивация без насилия
Фантастика:
рпг
уся
попаданцы
5.00
рейтинг книги
Старый, но крепкий

География растений

Гумбольдт Александр
Классики естествознания
Научно-образовательная:
ботаника
7.50
рейтинг книги
География растений

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Приказано выжить!

Малыгин Владимир
1. Другая Русь
Фантастика:
боевая фантастика
попаданцы
альтернативная история
7.09
рейтинг книги
Приказано выжить!

Иной. Том 1. Школа на краю пустыни

Amazerak
1. Иной в голове
Фантастика:
боевая фантастика
рпг
аниме
5.75
рейтинг книги
Иной. Том 1. Школа на краю пустыни