Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2

.pdf
Скачиваний:
8
Добавлен:
08.02.2015
Размер:
2.57 Mб
Скачать

2.1. Отбор элементов для манипуляций

63

Таблица 2.2. Базовые селекторы CSS, поддерживаемые библиотекой jQuery

Селектор

Описание

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

Соответствует

любому элементу

 

 

 

 

 

 

E

Соответствует

всем

элементамименемс

тегаE

 

 

 

E F

Соответствует

всем элементамименемс

тегаF, вложенным элев-

 

мент сименем тегаE

 

 

 

 

 

 

 

E>F

Соответствует

всем элементамименемс

тегаF, являющимся

пря-

 

мыми потомками

элементовименемс

тегаE

 

 

 

E+F

Соответствует

всем элементамF, которым

непосредственно

пред-

 

шествует любой

элементE на том же уровне вложенности

 

 

E~F

Соответствует

всем элементамF, которым

предшествует

любой

 

элемент E на том же уровне вложенности

 

 

 

E.C

Соответствует

всем элементамE с именем

 

классаC. В отсутствие E

 

эквивалентен

селектору*.C

 

 

 

 

 

 

E#I

Соответствует

элементуE с идентификатором id)(I. В отсутствие E

 

эквивалентен

селектору*.I

 

 

 

 

 

 

E[A]

Соответствует

всем элементамE с атрибутом A, имеющим

любое

 

значение

 

 

 

 

 

 

 

 

 

E[A=V]

Соответствует

всем элементамE с атрибутом A, имеющим

значе-

 

ние V

 

 

 

 

 

 

 

 

 

E[AA=V]

Соответствует

всем

элементамE с атрибутом A, значение

которого

 

начинается Vс

 

 

 

 

 

 

 

 

 

E[A$=V]

Соответствует

всем

элементамE с атрибутом A, значение

которого

 

заканчивается

наV

 

 

 

 

 

 

 

E[A*=V]

Соответствует

всем

элементамE с атрибутом A, значение

которого

 

содержит V

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Упражнение

 

 

 

Теперь , обладая

этими сведениями , вернитесьстраницек Selectors

 

Lab и проведите

еще несколько

экспериментовразличнымис

се-

 

лекторами из табл2..2. Попробуйте , например

, выбрать элементы

<span>, содержащие текстHello и Goodbye ( подсказка : для этого

вам придется сконструировать

комбинацию

из несколькихселек

торов ).

 

 

 

 

 

 

 

 

 

 

 

64 Глава 2. Выбор элементов для дальнейшей работы

2.1.4. Выбор элементов

по позиции

 

 

Иногда требуется выбрать

элементы

по их положению на странице

или

по размещению

относительно

других

элементовпримеру. К , нам может

 

потребоваться

выбрать

первую ссылку на странице

, или каждый

второй

абзац , или последний

пункт

каждого

списка . Библиотека jQuery-

под

держивает

механизмы

, позволяющие

производить

подобную выборку .

Например

:

 

 

 

 

 

 

 

a:first

 

 

 

 

 

 

 

 

Данному

селектору соответствует первый элеме<a> нта странице .

 

А как насчет селектора , который выбирает элементы через один ?

p:odd

Этому селектору соответствует каждый нечетный элемент параграфа . Аналогичным образом выбирается каждый четный элемент :

p:even

Другая форма селектора

ul li:last-child

выбирает последний дочерний элемент родительского элементаэтом . В примере селектору соответствует последний дочерний элемент<li>

в каждом элементе<ul>.

Таких селекторов

очень много , часть из них определяется

спецификаци-

ей CSS,

другие

относятся библиотеке

jQuery, они могут обеспечить

весьма

элегантное

решение

довольно сложных задачспецификации. В

 

CSS селекторы

этого типа называютпсевдоклассамия , но вбиблиотеке

 

jQuery

используется

более

строгий терминфильтры, поскольку каж-

 

дый из этих селекторов

служит дополнительным

 

фильтром

длябазо

вого селектора

. Эти селекторы -фильтры

легко заметныпрограммномв

 

коде , так как все они начинаютсясимвола

двоеточия:). (Изапомните

,

если вы опускаете

какой -либо базовый

селектор

, по умолчанию

вместо

него будет

использоваться

селектор*.

 

 

 

 

 

 

 

 

В табл .2.3

приведен

список

таких позиционных

селекторов

( которые

в документации

библиотеке

jQuery

называютсябазовыми и дочерни-

 

ми фильтрами

).

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 2.3. Дополнительные селекторы поддерживаемые,

jQuery:

 

 

 

выбирают элементы на основе их местоположения в дереве DOM

 

 

 

Селектор

 

 

 

Описание

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

:first

 

 

 

 

Первое

совпадение контекстев

. Селекторli a:first вы-

 

 

 

 

 

 

берет первую ссылку , которая при этом находитсяэле-

в

 

 

 

 

 

менте

списка .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.1. Отбор элементов для манипуляций

 

 

 

 

 

65

 

 

 

 

Селектор

Описание

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

:last

Последнее

совпадение контекстев

. Селекторli a:last

 

 

 

выберет последнюю ссылку , которая

при этом находит-

 

 

ся вэлементе списка .

 

 

 

 

 

 

 

 

 

:first-child

Первый дочерний элементконтекстев

. Селектор

 

 

 

li:first-child выберет

первый

элемент каждого списка .

 

 

:last-child

Последний дочерний элементконтекстев

. Селектор

 

 

 

li:last-child выберет последний

элемент каждого списка .

 

:only-child

Выберет все элементы , являющиеся

 

единственными-

до

 

 

черними

элементами .

 

 

 

 

 

 

 

 

 

:nth-child(n)

Выберет n-й дочерний

элементконтекстев

. Селектор

 

 

 

li:nth-child(2) выберет

второй

элементкаждомв

списке .

 

 

:nth-child(even|odd)

Четные even( ) или нечетные odd( ) дочерние

элементы

 

 

 

в контексте . Селекторli:nth-child(even) выберет

четные

 

 

 

дочерние

элементы каждомв

списке .

 

 

 

 

 

 

:nth-child(Xn+Y) n-й дочерний элемент , порядковый номер котороговы числяется соответствии представленной формулой . Если значениеY равно 0, его можно опустить . Селектор li:nth-child(3n) выберет каждый третий элемент , тогда как селекторli:nth-child(5n+1) выберет элемент , следую-

щий за каждым пятым элементом .

:even

Четные

элементы контекстев

. Селекторli:even выберет

 

все четные

элементы

списка .

 

 

 

 

:odd

Нечетные

элементы контекстев

. Селекторli:odd выбе-

 

рет все нечетные

элементы

списка .

 

 

 

 

:eq(n)

n-й элемент

 

 

 

 

 

 

 

 

 

 

:gt(n)

Выберет

элементы

, расположенныеn-мзаэлементом

( не

 

включая

его ).

 

 

 

 

 

 

 

 

 

:lt(n)

Выберет

элементы

, расположенные

передn-м элементом

 

(не включая

его ).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Здесь есть одна особенность

. Селектор:nth-child начинает

отсчет

эле-

ментов с1 ( для совместимости CSS),с

тогда

как остальные селекто-

ры – с 0 ( в соответствии общепринятымис

программировании

согла-

шениями ). Накопив

некоторый опыт работыселекторами , вы легко

запомните

правило

« кто есть кто », нопервое

 

время

это может

стать

источником

ошибок .

 

 

 

 

 

 

 

 

 

 

 

 

Попробуем

углубиться

еще дальше .

 

 

 

 

 

 

 

 

Рассмотрим

следующую

 

таблицу

из примера дерева

DOMлабораторв -

ной работе , содержащую

 

список

некоторых

языков

программирования

с некоторой

дополнительной

информациейних :о

 

 

 

 

66

Глава 2. Выбор элементов для дальнейшей работы

 

 

 

<table id=”languages”> <thead>

<tr>

<th>Language</th>

<th>Type</th>

<th>Invented</th>

</tr>

</thead>

<tbody>

<tr>

<td>Java</td>

<td>Static</td>

<td>1995</td>

</tr>

<tr>

<td>Ruby</td>

<td>Dynamic</td>

<td>1993</td>

</tr>

<tr>

<td>Smalltalk</td>

<td>Dynamic</td>

<td>1972</td>

</tr>

<tr>

<td>C++</td>

<td>Static</td>

<td>1983</td>

</tr>

</tbody>

</table>

Предположим

, нам нужно выбрать

все ячейки таблицы , содержащие

названия языков программирования

. Так как все они являютсяпервы

ми ячейками

строкахв , можно использовать селектор

table#languages td:first-child

Можно также использовать такой селектор :

table#languages td:nth-child(1)

но первый вариант выглядит более очевиднымэлегантными .

Выбрать ячейки описанием

типизации , применяемойязыкев програм-

мирования , можнопомощьюс

селектора:nth-child(2), аячейки сгодами

появления

языков– с помощью селектора:nth-child(3) или :last-child.

Если потребуется выбрать

самую последнюю ячейку

таблицыкото- ( в

рой указан

год1983), можно использовать селекторtd:last. Кроме того ,

селектор td:eq(2) выберет

ячейку текстом 1995, td:nth-child(2) выберет

все ячейки

описаниями

типизации , применяемойязыкев

программи-

2.1. Отбор элементов для манипуляций

67

 

рования . Не забывайте , что селектор:eq начинает

отсчет элементов0, с

а селектор :nth-child – с 1.

 

 

Упражнение

 

 

 

 

Прежде чем двинуться дальше , вернитесьстраницек

Selectors Lab

 

и попробуйте выбратьспискев

вторую четвертуюи

строки списка

.

Затем попробуйте выбрать

ячейку таблицытекстом 1972 тремя

 

разными способами . Апотом

прочувствуйте разницу

междусе

лектором :nth-child и селекторами выбора элементов

по абсолют-

ной позиции .

 

 

 

 

 

Селекторы CSS, которые мы рассмотрели , обладают невероятноширо кими возможностями , но сейчас мы попробуем выжать из селекторов jQuery еще больше .

2.1.5. CSS инестандартные

селекторыjQuery

 

 

Селекторы CSS обеспечивают

высокую гибкостьширокие

возможно-

 

сти при выборе

требуемых

элементов

DOM, но существует ещемноже

ство селекторов

, которые

позволяют

еще более точно

фильтровать-

от

бираемые элементы .

Например , нам может потребоваться выбрать все флажки (checkboxes), отмеченные пользователем этом. В случае может появиться соблазнис пользовать такую инструкцию :

$(‘input[type=checkbox][checked]’)

 

 

 

 

 

 

 

 

 

 

Однако при выборке

по значению

атрибутабудут

учитываться

толь-

 

 

ко начальные значения

элементов

управления

, как они определены

 

в HTMLкоде , тогда

как нам требуется проверить

фактическое

, текущее

значение элемента управления . CSS предлагает

псевдокласс:checked,

 

 

выбирающий

только отмеченные

элементы

. Например

, селекторinput

 

выберет все элементы<input>, а селектор input:checked – только отмечен-

 

 

ные элементы<input>.

 

 

 

 

 

 

 

 

 

 

 

 

 

Помимо этого библиотека

jQuery

предоставляет

еще набор собствен-

ных удобных

фильтров

селекторов , не определяемых

спецификацией

CSS, которые

еще больше

упрощают

идентификацию

отбираемых-

эле

ментов . Например

, селектор:checkbox соответствует

всем элементам

-

 

флажкам . Комбинирование этимис

нестандартными

селекторами-

мо

 

жет значительно

повысить

гибкость

выбора ; примерами

могут

служить

комбинации

селекторов:radio:checked и :checkbox:checked.

 

 

 

 

 

Как уже говорилось

, jQuery поддерживает

все селекторы

-фильтры

CSS

а также привносит

множество своих

собственных

селекторов

.- Эти не

стандартные

селекторы

приведенытаблв.2.4.

 

 

 

 

 

 

 

 

68

Глава 2. Выбор элементов для дальнейшей работы

 

 

 

Таблица 2.4. CSS и нестандартные селекторы -фильтрыjQuery

Селектор

Описание

 

 

 

Есть

 

 

 

 

 

в CSS?

 

 

 

 

:animated

Выбирает

элементы настоящий, в

момент управляе-

 

мые механизмом

воспроизведения анимационных

 

эффектов

. Подробнее см . главу

5.

:button

Выбирает все кнопки (input[type=submit],

 

input[type=reset], input[type=button] или button).

:checkbox

Выбирает

только

элементы

-флажки

 

(input[type=checkbox]).

 

 

:checked

Выбирает

только

отмеченные

флажки или радиокнопкиДа .

:contains(foo)

Выбирает

только

элементы

, содержащие fooтекст.

:disabled Выбирает только элементы форм , находящиесянеаквДа тивном состоянии ( поддерживается средствами CSS).

:enabled Выбирает только элементы форм , находящиесяаквДа тивном состоянии .

:file

Выбирает

все элементы

типаfile (input[type=file]).

 

:has(selector)

Выбирает

элементы , содержащие хотя бы один-

эле

 

мент , соответствующий

указанному

селектору .

 

:header

Выбирает

только элементы

, являющиеся заголовка-

 

ми , например

элементы <h1>от до <h6>.

 

 

:hidden

Выбирает

только скрытые

элементы

 

 

:image

Выбирает

изображения формахв

input[type=image]( ).

 

:input

Выбирает только элементы формinput(, select, text-

 

 

area, button).

 

 

 

 

 

 

:not(selector)

Инвертирует

значение

указанного селектораselector. Да

:parent

Выбирает только элементы которых, у

имеются вло-

 

 

женные ( дочерние ) элементы ( включая простой

текст ),

 

но не выбирает пустые

элементы .

 

 

:password Выбирает только элементы ввода пароля

(input[type=password]).

:radio Выбирает только радиокнопкиinput[type=radio]( ).

:reset Выбирает только кнопки сбросаinput[type=reset]( или button[type=reset]).

:selected Выбирает элементы<option>, которые были выделены.

:submit Выбирает кнопки отправки формыbutton[type=submit](

или input[type=submit]).

:text Выбирает только элементы ввода текста

(input[type=text]).

:visible Выбирает только видимые элементы

2.1. Отбор элементов для манипуляций

 

 

 

69

 

Многие

нестандартные

селекторы

jQuery имеют

отношение

исключи-

тельно

кформам и позволяют достаточно

элегантно

выбирать

элемен-

ты определенного

типа илиопределенномв

состоянии . Эти селекторы -

фильтры также

можно

комбинировать

другдругомс . Например , вы-

брать только активные отмеченныеи

флажки можно было бы так :

:checkbox:checked:enabled

 

 

 

 

 

 

Упражнение

 

 

Попробуйте поэкспериментироватьэтимис

фильтрами на странице

 

Selectors Lab, пока не ощутите , что набили

руку на их употреблении

.

 

 

 

Эти фильтры– полезное дополнение ужек известным нам селекторам , но что можно сказатьфильтрео инвертирования условия ?

Фильтр :not

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

:not.

Так , для выбора неотмеченных флажков ( элементов<input>) можно использовать такую инструкцию :

input:not(:checkbox)

Но будьте

осторожны

! При невнимательном

использовании

этого-

филь

тра легко можно

получить

совершенно

неожиданные

результаты

!

Например

, предположим

, что нам требуется

отобрать

все изображения

за исключением

тех ,которыху

атрибутsrc содержит

 

текст

«dog». -Ре

 

шая эту задачу мы могли

бы решить применить

следующий

селектор :

$(‘:not(img[src*=”dog”])’)

 

 

 

 

 

 

 

 

 

 

 

Но , воспользовавшись

этим

селектором

, вы обнаружите

, что онне толь

ко отбирает

все элементы

-изображения

, атрибутsrc в которых не содер-

 

жит текст

«dog»,

но всеи элементы

дерева DOM, не являющиеся - изо

бражениями

!

 

 

 

 

 

 

 

 

 

 

 

 

 

Не забывайте

, что , когда

мы опускаем

базовый

селектор

, вместо

него п

умолчанию

используется

селектор*, то есть данный

селектор

читается

как « выбрать все элементы , которые не являются

изображениями-

, со

держащими

текст «dog»атрибутев

src, тогда как вдействительности

 

нам нужен

селектор , отбирающий « все элементы

-изображения- , не со

держащие

текст

«dog»атрибутев src», который

определяется

, какпо

казано ниже :

$(‘img:not([src*=”dog”])’)

70 Глава 2. Выбор элементов для дальнейшей работы

 

 

 

 

 

 

 

Упражнение

 

 

 

 

 

 

Выполните

лабораторную

работу еще раз , чтобы

поэксперимен-

 

 

тировать

сфильтрами

, пока вы не поймете , как действует фильтр

:not.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Библиотека

 

jQuery

поддерживает также дополнительный

фильтр-

, позво

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

Внимание

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Те , кто продолжает

использовать

версию

jQuery 1.2,

должен помнить , что такие

фильтры ,

как:not() и :has(),

в этой

версии

могут

принимать

только

другие

 

фильтры . Им нельзя

передавать

 

селекторы , содержащие

определенияэлемен

тов . Данное

ограничение

было

ликвидировановерсии jQuery 1.3.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Фильтр :has

 

 

 

 

 

 

 

 

 

 

 

 

Как мы уже видели

выше , спецификация

CSS определяет

множество

удобных селекторов

, позволяющих отбирать

дочерние элементы-

из оп

ределенных

 

 

родительских

элементов

. Например , селектор

 

div span

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

отберет все элементы<span>, находящиеся

внутри

элементов<div>.

 

Но как быть , если нам потребуется отобрать все элементы<div>, содержащие элементы<span>?

Для решения этой задачи можно воспользоваться фильтром:has(). Взгляните на селектор

div:has(span)

который отбирает родительские элементы<div>, ане дочерние

элементы

 

<span>.

 

 

 

 

 

 

 

 

 

 

 

 

Это может оказаться

очень удобным

средством

отбора

элементов-

, пред

ставляющих

сложные конструкции

. Например

, предположим , что нам

требуется отыскать строкутаблицев

, которая содержит определенный

элемент

изображения уникальнымс

значением

атрибутаsrc. Для этого

 

можно

было

бы использовать

такой

селектор

:

 

 

 

$(‘tr:has(img[src$=”puppy.png”])’)

 

 

 

 

 

 

 

 

который вернет все строки

таблицы

, содержащие указанное изображе-

ние где -то виерархии

дочерних

элементов .

 

 

 

 

 

Далее вы убедитесь , что этотакже,

другие

фильтры jQuery часто-

бу

дут встречаться примерахв

на протяжении

всей книги .

 

 

2.2. Создание новых

элементов HTML

 

 

 

 

 

 

 

 

 

 

 

 

71

 

 

 

 

Как мы уже видели , jQuery

дает нам обширный

набор

инструментов

,

позволяющих

 

выбирать

элементы

 

, присутствующиестраницена

, для

 

 

выполнения

 

манипуляций

посредством

методов

jQuery,

которые

будут

рассматриваться

главе 3. Но прежде

чем перейтирассмотрениюк

этих

 

 

методов , нам необходимо

узнать , какпомощьюс

функции$() создавать

 

 

 

новые элементы

HTML для включениявыбранные

наборы .

 

 

 

 

 

 

2.2. Создание

 

новых

 

элементовHTML

 

 

 

 

 

 

 

 

 

 

Иногда требуется

создать

новый фрагмент HTMLвставить

 

его страв-

 

 

 

ницу . Это может быть простой

текст , который

следует

вывести-

при опре

деленных

обстоятельствах

, или нечто более сложное , напримерлица

таб

 

с результатами

запросаудаленнойк

кбазе данных .

 

 

 

 

 

 

 

 

 

 

С помощью

jQuery

это делается

легкопростои , как мы уже виделиглав-

 

 

 

ве 1. Помимо

выбора

имеющихся

 

элементов

страницы

 

функция$() мо-

 

 

 

жет создавать

новые

элементы

HTML. Рассмотрим

такую

инструкцию

:

$(“<div>Hello</div>”)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Это выражение

создает

новый

элемент<div>, готовый

к добавлению

 

 

 

в страницу

 

. Мы можем

манипулировать

вновь

созданным

фрагментом

с помощью

 

любых

методов

jQuery,

применяемыхобернутымк

наборам

 

 

существующих

элементов

. На первый

взглядэтом, в

нет ничего

осо-

 

 

 

бенного , но , когда речь пойдет

об обработчиках

событий , применении

 

технологий

Ajax создании

визуальных

эффектов ( в последующих-

гла

 

вах ), мы убедимся , насколько

она удобна .

 

 

 

 

 

 

 

 

 

 

 

Обратите внимание : создать пустой

элемент<div> можно спомощью бо-

 

 

 

лее краткой

формы

 

записи :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

$(“<div>”)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Она идентична

инструкциям$(“<div></div>”) и $(“<div/>”), однако

мы

 

 

 

рекомендуем

использовать

корректно

оформленную

разметку

HTML

 

и включать

открывающие

закрывающие

теги для определения - эле

 

ментов любых типов , которые

могут

содержать

другие

элементы .

 

Создание

простых

элементов

HTML

выглядит

очень простоблагод, а-

 

 

 

ря возможности

 

объединения

методов

jQueryцепочкив

создание более

 

 

сложных

элементов

 

выглядит

ненамного сложнееобернутому. К

набо-

 

 

ру , содержащему

вновь

созданные

элементы

, можно

применять

любые

методы jQuery.

Например

, можно

изменить

оформление

элементапо-

с

 

мощью методаcss(), добавить вэлемент атрибуты помощьюс метода

 

 

attr(). Однако

библиотека

jQuery

обеспечивает

еще более

удобный-

спо

соб выполнения

 

подобных

операций .

 

 

 

 

 

 

 

 

 

 

 

 

Методу $() создания элемента можно передать второй параметр - , опре деляющий дополнительные атрибуты элемента . Этот параметр должен иметь вид объекта JavaScript, свойства которого определяют имена

и значения атрибутов , добавляемыхэлементв .

72

Глава 2. Выбор элементов для дальнейшей работы

 

 

 

Допустим , что нам требуется создать элемент изображенескольиякими атрибутами , определить оформлениедобавить внего обработчик события щелчок мышью ! Взгляните на программный лискод- в тинге 2.1.

Листинг 2.1. Динамическое создание элемента <img>

$(‘<img>’,

q Создаст основной элемент <img>

{

 

src: ‘images/little.bear.png’, alt: ‘Little Bear’,

title:’I woof in your general direction’, click: function(){

alert($(this).attr(‘title’));

Определения

w различных атрибутов

Обработчик

e щелчка мышью

}

})

.css({ r Оформление изображения

cursor: ‘pointer’, border: ‘1px solid black’,

padding: ‘12px 12px 20px 12px’, backgroundColor: ‘white’

})

 

 

 

 

 

 

t Включение

элемента документв

 

 

 

 

 

 

.appendTo(‘body’);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Единственная

инструкция

jQuery, представленнаялистингев

2.1,

соз-

 

 

дает простой

элемент<img> q, добавляет

негов некоторые

атрибуты -, ко

 

торые определяют

местонахождение

 

файлаизображениемс

, альтерна-

 

 

тивный

текст заголовоки w, определяет

 

визуальное

оформление

, чтобы

изображение

выглядело

как отпечатанная

фотографияr,

включает

 

 

элемент дерево DOMt.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Кроме того , мы продемонстрировали

 

здесь

небольшой

трюкпомо. С-

 

 

щью объекта

сатрибутами

мы добавили

обработчик

щелчка

мышью ,

который

выводит

диалог

( с текстом

заголовка

изображенияe.

)

 

 

Дополнительный

параметр

позволяет

 

определять

не только атрибуты , н

и устанавливать обработчики

всех возможных

событий

(о которых-

под

робно рассказывается главе 4), атакже

передавать

значения

для вспо-

 

могательных

методов

jQuery,

основное

назначение

которых состоитиз-

в

менении

различных

свойств

 

элемента

. Мы еще не сталкивалэтимись

с

 

методами , но , забегая вперед , заметим , что мы можем определять-

значе

ния для следующих

методов

 

( большинство

из которых

будет

рассматри-

ваться вследующей

главеval): , css, html, text, data, width, height и offset.

 

 

То есть влистинге

2.1 мы могли бы опустить

вызов методаcss(), заме-

 

 

нив его следующим

свойствомдополнительномв

параметре

:

 

 

 

css: {

cursor: ‘pointer’, border: ‘1px solid black’,

padding: ‘12px 12px 20px 12px’, backgroundColor: ‘white’

}