О других книгах серии Head First «В книге „Изучаем объектно-ориентированный анализ и проектирование“ используется новый подход к теме ООАП. Эта книга отличается от других тем, что она ориентирована на об- учение. Авторы сделали материал ООАП доступным и полезным для программиста-прак- тика». — Айвар Джейкобсон, Ivar Jacobson Consulting «Я только что закончил читать „Изучаем объектно-ориентированный анализ и проектирование“ и остался в полном восторге! Больше всего мне понравилось то, что книга ориентирована на необходимость применения ООАП для написания хороших программ». — Кайл Браун, заслуженный инженер, IBM «За смешными картинками и вычурными шрифтами скрывается серьезное, разумное, ис- ключительно качественно проработанное изложение объектно-ориентированного анали- за и проектирования. Во время чтения книги мне казалось, что я стою за спиной опытного проектировщика, который объясняет мне, какие аспекты важны на каждом этапе проек- тирования, и почему». — Эдвард Сьоре, адьюнкт-профессор, факультет компьютерных технологий, Бостонский колледж «В целом „Управление разработкой ПО“ представляет собой замечательный источник инфор- мации для всех, кто хочет привести в порядок свои навыки программирования — причем подход к изложению материала постоянно привлекает внимание читателя на многих уров- нях». — Энди Хадсон, Linux Format «Программистам-новичкам „Управление разработкой ПО“ поможет сразу встать на правиль- ный путь. Да и опытные разработчики найдут здесь для себя немало полезного». — Томас Дафф, Duffbert’s Random Musings «Вместо изложения материала в стиле традиционных учебников „Программируем для iPhone и iPad“ предлагает читателю живую, увлекательную и даже приятную методику обуче- ния программированию для iOS. Материал подобран умело и качественно: в книге рас- сматриваются многие ключевые технологии, включая Core Data, и даже такие важные аспекты, как проектирование интерфейса. И где еще можно прочитать, как UIWebView и UITextField беседуют у камина?» — Шон Мерфи, проектировщик и разработчик приложений для iOS О других книгах серии Head First «Книга „Программируем для iPhone и iPad“ объясняет принципы разработки приложений iOS с самого начала. Основные изменения по сравнению с первым изданием относятся к iOS 4, Xcode 4 и написанием приложений для iPad. Благодаря пошаговым описаниям с визуаль- ным стилем изложения материала эта книга становится отличным средством изучения программирования для iPhone и iPad во всех аспектах, от простейших до нетривиальных». — Рич Розен, программист и соавтор книги Mac OS X for Unix Geeks «Главное достоинство книги — простые, пошаговые описания. Она не пытается научить читателя всему сразу, а знакомит его с построением приложений для iOS на уровне друже- ственного, разговорного общения. Эта книга идеально подходит для людей, которые уже умеют программировать и хотят поскорее заняться построением приложений для iOS». — Эрик Шеферд, владелец Syndicomm «Книга „Программируем для iPhone и iPad“ написана специально для того, чтобы научить вас создавать приложения, изучать и использовать технологии iOS без предварительного опыта работы со средствами разработки на Macintosh». — Джо Хек, основатель Seattle Xcoders «Эта книга способна вывести из себя! Некоторым из нас пришлось изучать программиро- вание для iOS „классическим“ способом, а теперь вдруг выясняется, что все мучения были излишними». — Майк Моррисон, основатель Stalefish Labs «Книга „Программируем для iPhone и iPad“ продолжает нарастающую тенденцию к изложе- нию сложных технических тем на доступном уровне, но без ущерба для глубины и мас- штабности материала. Программирование для iOS в любом случае придется покорять, как горную вершину, но с книгой „Программируем для iPhone и iPad“ вы будете взбираться на эту „гору“ по заранее проложенным маршрутам, со страховкой и в компании опытного проводника! Я рекомендую эту книгу каждому, кто хочет быстро освоить программирова- ние для этой непростой и интересной платформы». — Крис Пилсор, snogboggin.com ББК 32.973.2-018.1 УДК 004.434 Б41 Бенедетти Р., Крэнли Р. Б41 Изучаем работу с jQuery. — СПб.: Питер, 2012. — 528 с.: ил. ISBN 978-5-459-00896-8 Хотите добавить интерактивности своему интернет-сайту? Узнайте, как jQuery позволит вам создать целый набор скриптов, используя всего несколько строчек кода! С помощью этого издания вы максимально быстро научитесь ра- ботать с jQuery — этой удивительной библиотекой JavaScript, использование которой сегодня стало необходимостью для разработки современных веб-сайтов и RIA-приложений. jQuery помогает легко получать доступ к любому эле- менту DOM, обращаться к атрибутам и содержимому элементов DOM, а также предоставляет богатые возможности по взаимодействию с AJAX. Особенностью данного издания является уникальный способ подачи материала, выделяющий серию «Head First» издательства O’Reilly в ряду множества скучных книг, посвященных программированию. ББК 32.973.2-018.1 УДК 004.434 Права на издание получены по соглашению с O’Reilly. Все права защищены. Никакая часть данной книги не может быть воспроиз- ведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав. ISBN 978-1449393212 англ. © Authorized Russian translation of the English edition of titled Head First jQuery, 1st Edition (ISBN 9781449393212) © 2011, Ryan Benedetti and Ronan Cranley. This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same. ISBN 978-5-459-00896-8 © Перевод на русский язык ООО Издательство «Питер», 2012 © Издание на русском языке, оформление ООО Издательство «Питер», 2012 Мы посвящаем эту книгу магистрам JavaScript: Джону Рези- гу (создателю и ведущему разработчику библиотеки jQuery), Дугласу Крокфорду, Дэвиду Фленагану и Брэндону Эйку. Моим трем феям: Джози, Вин и Шонне. — Райан Кейтлин и Боно: спасибо вам за все! — Ронан об авторах Райан РРооннаанн Райан Бенедетти — обладатель степени ма- Ронан Крэнли работал в университете Порт- гистра искусств в области писательского ма- ленда с момента своего переезда из Дубли- стерства (университет Монтаны); работает на, Ирландия, в 2006 году — с должности веб- веб-разработчиком и специалистом по мульти- разработчика до старшего веб-разработчика/ медиа в университете Портленда. В своей рабо- инженера-системотехника и заместителя дирек- те использует jQuery, Flash, ActionScript, Adobe тора по веб-системам и администрированию. Creative Suite, Liferay Portal, Apache Jakarta Ронан получил степень бакалавра в области Velocity и Drupal. компьютерных технологий в технологиче- В течение семи лет Райан руководил факуль- ском институте Дублина, который он закон- тетом информационных и компьютерных чил с отличием в 2003 году. Во время учебы, технологий в колледже Салиш-Кутени. До а также на своей предыдущей должности в ESB этого он работал редактором и специалистом International (Дублин) и текущей в университе- по информационным системам в программе те Портленда Ронан работал над разнообраз- исследования рек, ручьев и сильно увлажнен- ными проектами на языках PHP, VB.NET, C# ных земель в школе лесоводства при универ- и Java. Среди этих проектов была клиентская ситете Монтаны. система GIS, система управления контентом, система календарного планирования и гибрид- Стихотворения Райана опубликованы в по- ное приложение jQuery/Google Maps. этических сборниках. В свободное время занимается рисованием, играет на губной Помимо проектирования и построения веб- гармошке и практикует сидячую медитацию. приложений, Ронан также занимается адми- Свои лучшие моменты жизни Райан прово- нистрированием баз данных SQL Server. Сво- дит с дочерью, сыном и своей любимой Шон- бодное время Ронан проводит на футбольном ной в Портленде, штат Орегон. Также любит поле, на площадке для гольфа, а также со сво- выбираться на природу со своими четверо- ей женой Кейтлин и английским бульдогом ногими друзьями: Роки, Манчем, Фестером Боно, наслаждаясь всей полнотой жизни на и Тазом. северо-западном Тихоокеанском побережье. 8 содержание Содержание (сводка) Введение 23 1 Знакомство с jQuery. Живые веб-страницы 37 2 Селекторы и методы. Хватай и действуй 69 3 События и функции jQuery. Страница в центре событий 109 4 Операции со структурой страниц в jQuery. Изменение DOM 157 5 jQuery эффекты и анимация. Плавно и изящно 209 6 jQuery и JavaScript. Люк jQuery, я твой отец! 247 7 Пользовательские функции для пользовательских эффектов. Что будем делать? 285 8 jQuery и Ajax. Пожалуйста, передайте данные 321 9 Данные JSON. Клиент встречается с сервером 355 1 0 jQuery UI. Переработка форм 399 1 1 jQuery и APIs. Объекты, сплошные объекты 439 I Остатки. Десять важных вещей (которые мы не рассмотрели) 473 II Настройка среды разработки. Готовимся к великим свершениям 487 Содержание (настоящее) Введение Ваш мозг думает о jQuery. Вы сидите за книгой и пытаетесь что-нибудь выучить, но ваш мозг считает, что вся эта писанина не нужна. Ваш мозг говорит: «Выгляни в окно! На свете есть более важные вещи, например сноуборд». Как заставить мозг думать, что ваша жизнь действительно зависит от jQuery? Для кого написана эта книга? 24 Метапознание: наука о мышлении 27 Что можете сделать ВЫ, чтобы заставть свой мозг повиноваться 29 Примите к сведению 30 Технические рецензенты 34 Благодарности 35 9 содержание Знакомство с jQuery 1 Живые веб-страницы Вы хотите расширить возможности своих веб-страниц. Вы уже знаете HTML и CSS и хотите включить в свой арсенал сценарное программирование, но вам совершенно не хочется про- водить свою жизнь за написанием сотен строк кода. Нужна библио- тека сценариев, которая позволяла бы изменять веб-страницы «на ходу». И если на то пошло, как насчет поддержки AJAX и PHP? И чтобы в трех строках кода можно было сделать то, для чего в большинстве клиентских языков потребуется 15? Пустые мечты, скажете вы... А вот и нет! На помощь приходит jQuery. jQuery( ) Новые возможности веб-страниц 38 HTML и CSS — это, конечно, хорошо, но… 39 …без сценариев не обойтись 40 Знакомьтесь: jQuery (и JavaScript)! 41 $( ) Что происходит в браузере 43 Скрытая структура веб-страницы 44 jQuery упрощает работу с DOM 45 Функция jQuery (и ее сокращенная запись) 48 jQuery выбирает элементы по тем же правилам, что и CSS 49 $( ) Селекторы: стили и сценарии 50 Использование селекторов jQuery 51 jQuery в переводе 52 Ваш первый проект с jQuery 56 Подготовка файлов HTML и CSS 60 Поехали… 62 Эффекты изменения прозрачности 63 И это все? 64 Пушистые Друзья спасены 66 Пользователь щелкнул Ваш инструментарий jQuery 67 мышью Эй, браузер, обнови для меня этот элемент img! 10