31,19 €
If you are looking for a comprehensive reference guide to this popular JavaScript library, this book and eBook is for you.
To make optimal use of jQuery, it's good to keep in mind the breadth of capabilities it provides. You can add dynamic, interactive elements to your sites with reduced development time using jQuery.Revised and updated for version 1.4 of jQuery, this book offers an organized menu of every jQuery method, function, and selector. Each method and function is introduced with a summary of its syntax and a list of its parameters and return value, followed by a discussion, with examples where applicable, to assist in getting the most out of jQuery and avoiding the pitfalls commonly associated with JavaScript and other client-side languages.In this book you will be provided information about the latest features of jQuery that include Sizzle Selector, Native event delegation, Event triggering, DOM manipulation, and many more. You won't be confined to built-in functionality, you'll be able to examine jQuery's plug-in architecture and we discuss both how to use plug-ins and how to write your own. If you're already familiar with JavaScript programming, this book will help you dive right into advanced jQuery concepts. You'll be able to experiment on your own, trusting the pages of this book to provide information on the intricacies of the library, where and when you need it.This book is a companion to Learning jQuery 1.3. Learning jQuery 1.3 begins with a tutorial to jQuery, where the authors share their knowledge, experience, and enthusiasm about jQuery to help you get the most from the library and to make your web applications shine.jQuery 1.4 Reference Guide digs deeper into the library, taking you through the syntax specifications and following up with detailed discussions. You'll discover the untapped possibilities that jQuery 1.4 makes available, and polish your skills as you return to this guide time and again.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 348
Veröffentlichungsjahr: 2010
Copyright © 2010 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: January 2010
Production Reference: 1190110
Published by Packt Publishing Ltd.
32 Lincoln Road
Olton
Birmingham, B27 6PA, UK.
ISBN 978-1-84951-004-2
www.packtpub.com
Cover Image by Karl Swedberg (<[email protected]>)
Authors
Karl Swedberg
Jonathan Chaffer
Reviewers
Joydip Kanjilal
Dave Methvin
Acquisition Editor
Swapna V. Verlekar
Development Editor
Swapna V. Verlekar
Technical Editor
Tariq Rakhange
Copy Editor
Sneha Kulkarni
Indexer
Hemangini Bari
Production Editorial Manager
Abhijeet Deobhakta
Editorial Team Leader
Mithun Sehgal
Project Team Leader
Lata Basantani
Project Coordinator
Joel Goveya
Proofreader
Chris Smith
Graphics
Nilesh R. Mohite
Production Coordinator
Dolly Dasilva
Cover Work
Dolly Dasilva
Karl Swedberg is a web developer at Fusionary Media in Grand Rapids, Michigan, where he spends much of his time solving problems with JavaScript and implementing design. A member of the jQuery Project Team and an active contributor to the jQuery discussion list, Karl has presented at workshops and conferences, and provided corporate training in Europe and North America.
Before he got hooked on to web development, Karl worked as a copy editor, a high-school English teacher, and a coffee house owner. He gave up his dream of becoming a professional musician in the early 1990s about the same time that he stumbled into a job at Microsoft in Redmond, Washington. He sold his hollow-body Rickenbacker ages ago, but still keeps an acoustic guitar in the basement.
I wish to thank my wife, Sara, for keeping me sane. Thanks also to my two delightful children, Benjamin and Lucia. Jonathan Chaffer has my deepest respect for his programming expertise and my gratitude for his willingness to write this book with me.
Many thanks to John Resig for creating the world's greatest JavaScript library and for fostering an amazing community around it. Thanks also to the folks at Packt Publishing, the technical reviewers of this book, the jQuery Cabal, and the many others who have provided help and inspiration along the way.
Jonathan Chaffer is a member of Rapid Development Group, a web development firm located in Grand Rapids, Michigan. His work there includes overseeing and implementing projects in a wide variety of technologies, with an emphasis on PHP, MySQL, and JavaScript.
In the open source community, Jonathan has been very active in the Drupal CMS project, which has adopted jQuery as its JavaScript framework of choice. He is the creator of the Content Construction Kit, a popular module for managing structured content on Drupal sites. He is responsible for major overhauls of Drupal's menu system and developer API reference.
Jonathan lives in Grand Rapids with his wife, Jennifer.
I would like to thank Jenny for her tireless enthusiasm and support, Karl for the motivation to continue writing when the spirit was weak, and the Ars Technica community for constant inspiration toward technical excellence.
Joydip Kanjilal is a Microsoft MVP in ASP.NET, and the author of a number of books on .NET and its related technologies. He has over 12 years of industry experience in IT with more than 6 years in Microsoft .NET and its related technologies. He has authored a lot of articles for some of the most reputable sites such as www.asptoday.com, www.devx.com, www.aspalliance.com, www.aspnetpro.com, www.mcpressonline.com, www.sql-server-performance.com, www.sswug.com, and so on. A lot of these articles have been selected at www.asp.net—Microsoft's official site on ASP.NET. Joydip was also a community credit winner at www.community-credit.com a number of times. Joydip was also selected as MSDN Featured Developer of the Fortnight in November and December, 2008. Joydip has authored the following books:
He is currently working as an independent software consultant and author. He has years of experience in designing and architecting solutions for various domains. His technical strengths include C, C++, VC++, Java, C#, Microsoft .NET, AJAX, Design Patterns, SQL Server, Operating Systems, and Computer Architecture. Joydip blogs at http://aspadvice.com/blogs/joydip and spends his time reading books, blogs, and writing books and articles. His hobbies include watching cricket, soccer, and playing chess.
Dave Methvin is the Chief Technology Officer at PC Pitstop and one of the founding partners of the company. He provides technical direction for the PCPitstop.com (http://www.pcpitstop.com/) web site and oversees software development.
Before joining PC Pitstop, Dave had an extensive career in computer journalism. He served as an Executive Editor at both Windows Magazine and PC Tech Journal, co-authored a book on Windows NT networking, and wrote articles for more than two dozen publications. Dave blogs on Windows issues for the InformationWeek (http://www.informationweek.com) web site.
Dave holds both a bachelor's and a master's degree in Computer Science from the University of Virginia. He has been active in the jQuery community since 2006 and has written several popular plug-ins such as Splitter.
jQuery is a powerful, yet easy-to-use, JavaScript library that helps web developers and designers add dynamic, interactive elements to their sites, smoothing out browser inconsistencies and greatly reducing development time. In jQuery 1.4 Reference Guide, you can investigate this library's features in a thorough, accessible format.
This book offers an organized menu of every jQuery method, function, and selector. Entries are accompanied by detailed descriptions and helpful recipes that will assist you in getting the most out of jQuery, and avoiding the pitfalls commonly associated with JavaScript and other client-side languages. If you're still hungry for more, the book shows you how to cook up your own extensions with jQuery's elegant plug-in architecture.
You'll discover the untapped possibilities that jQuery makes available and hone your skills as you return to this guide time and again.
In Chapter 1, Anatomy of a jQuery Script, we'll begin by dissecting a working jQuery example. This script will serve as a roadmap for this book, directing you to the chapters containing more information on particular jQuery capabilities.
The heart of the book is a set of reference chapters, which allow you to quickly look up the details of any jQuery method. Chapter 2, Selector Expressions, lists every available selector for finding page elements.
Chapter 3, DOM Traversal Methods, builds on the previous chapter with a catalog of jQuery methods for finding page elements.
Chapter 4, DOM Manipulation Methods, describes every opportunity for inspecting and modifying the HTML structure of a page.
Chapter 5, Event Methods, details each event that can be triggered and reacted to by jQuery.
Chapter 6, Effect Methods, defines the range of animations built into jQuery, as well as the toolkit available for building your own.
Chapter 7, AJAX Methods, lists the ways in which jQuery can initiate and respond to server communication without refreshing the page.
Chapter 8, Miscellaneous Methods, covers the remaining capabilities of the jQuery library that don't neatly fit into the other categories.
Chapter 9, jQuery Properties, lists properties of the jQuery object that can be inspected for information about the browser environment.
With the catalog of built-in functionality concluded, we'll dive into the extension mechanisms jQuery makes available. Chapter 10, Plug-in API, reveals these powerful ways to enhance jQuery's already robust capabilities using a plug-in.
Chapter 11, Alphabetical Quick Reference, offers a handy list of all methods and their arguments.
Appendix A, Online Resources, provides a handful of informative web sites on a wide range of topics related to jQuery, JavaScript, and web development in general.
Appendix B, Development Tools, recommends a number of useful third-party programs and utilities for editing and debugging jQuery code within your personal development environment.
This book is a reference guide, not a tutorial. As such, prior exposure to the jQuery library will be beneficial in navigating this reference. The book Learning jQuery 1.3 is well-suited for this purpose.
To understand jQuery concepts, some knowledge of JavaScript is required, and familiarity with HTML and CSS is helpful.
The jQuery library itself can be downloaded from http://jquery.com/. The majority of examples in this book require only this library, a text editor, and a web browser. Some AJAX examples require web server software as well, such as Apache, but this requirement is avoided wherever possible.
This reference is designed for web developers who want a broad, organized view of all that the jQuery library has to offer, or want a quick reference on their desks to refer to for particular details. Basic knowledge of HTML and CSS is required. You should be comfortable with the syntax of JavaScript, and have basic knowledge of jQuery to make best use of this book.
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
Code words in text are shown as follows: "The .removeAttr() method uses the JavaScript removeAttribute() function."
A block of code is set as follows:
When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:
New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in the text like this: "After this code executes, clicks on Trigger the handler will also display the same message."
Warnings or important notes appear in a box like this.
Tips and tricks appear like this.
Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.
To send us general feedback, simply send an email to <[email protected]>, and mention the book title via the subject of your message.
If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or email to <[email protected]>.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
Downloading the example code for the book
Visit http://www.packtpub.com/files/code/0042_Code.zip to directly download the example code.
The downloadable files contain instructions on how to use them.
Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you would report this to us. By doing so, you can save other readers from frustration and help us to improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the let us know link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded on our web site, or added to any list of existing errata, under the Erarata section of that title. Any existing errata can be viewed by selecting your title from http://www.packtpub.com/support.
Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works, in any form, on the Internet, please provide us with the location address or web site name immediately so that we can pursue a remedy.
Please contact us at <[email protected]> with a link to the suspected pirated material.
We appreciate your help in protecting our authors, and our ability to bring you valuable content.
You can contact us at <[email protected]> if you are having a problem with any aspect of the book, and we will do our best to address it.
We've now seen a complete, functional jQuery-powered script. This example, though small, brings a significant amount of interactivity and usability to the page. The script has illustrated the major types of tools offered by jQuery, as well. We've observed how the script finds items in the DOM and changes them as necessary. We've witnessed response to user action, and animation to give feedback to the user after the action. We've even seen how to pull information from the server without a page refresh, and how to teach jQuery brand new tricks in the form of plug-ins.
In the following chapters, we'll be stepping through each function, method, and selector expression in the jQuery library. Each method will be introduced with a summary of its syntax and a list of its parameters and return value. Then we will offer a description, which will provide examples where applicable. For further reading about any method, consult the online resources listed in Appendix A, Online Resources. We'll also examine jQuery's plug-in architecture and discuss both how to use plug-ins and how to write our own.
Each action we perform with jQuery requires a target. For example, in order to hide or show an element on the page, first we must find that element. To do so, we rely on jQuery's selector expressions.
Borrowing from CSS 1–3 and then adding its own, jQuery offers a powerful set of tools for matching a set of elements in a document. In this chapter, we'll examine every selector expression that jQuery makes available in turn.
The following selectors are based on the Cascading Style Sheet specifications (1–3), as outlined by the W3C. For more information about the specifications, visit http://www.w3.org/Style/CSS/#specs.
Select all elements that have a tag name of T.
JavaScript's getElementsByTagName() function is called to return the appropriate elements when this expression is used.
Select the unique element with an ID equal to myid.
Each ID value must be used only once within a document. If more than one element has been assigned the same ID, queries that use that ID will only select the first matched element in the DOM. However, this behavior should not be relied on. A document with more than one element using the same ID is invalid.
In our second example, it might not be immediately clear why someone might want to specify a tag name associated with a particular ID, as that id value needs to be unique anyway. However, some situations in which parts of the DOM are user-generated may require a more specific expression to avoid false positives. Furthermore, when the same script is run on more than one page, it might be necessary to identify the element ID as the pages could be associating the same ID with different elements. For example, page A might have <h1 id="title"> while page B has <h2 id="title">.
For ID selectors such as the preceding examples, jQuery uses the JavaScript function getElementById(), which is extremely efficient. When another selector is attached to the ID selector, like in the second example, jQuery performs an additional check before identifying the element as a match.
As always, remember that as a developer, your time is typically the most valuable resource. Do not focus on optimization of selector speed unless it is clear that performance needs to be improved.
Select all elements that have a class of myclass.
For class selectors, jQuery uses JavaScript's native getElementsByClassName() function if the browser supports it. Otherwise, it checks the .className attribute of each element.
As a CSS selector (for example, in a stylesheet), the multiple-class syntax used in the third example is supported by all modern web browsers, but not by Internet Explorer versions 6 and below. This makes the syntax especially handy for applying styles cross-browser through jQuery.
Select all elements matched by F that are descendants of an element matched by E.
Descendants of an element are that element's children, grandchildren, great-grandchildren, and so on. For example, in the following HTML code, the <img> element is a descendant of the <span>, <p>, <div id="inner">, and <div id="container"> elements:
Select all elements matched by F that are children of an element matched by E.
As a CSS selector, the child combinator is supported by all modern web browsers including Safari, Mozilla/Firefox, Opera, Chrome, and Internet Explorer 7 and above; but notably not by Internet Explorer versions 6 and below. The first example is a handy way of selecting all nested unordered lists (that is, except the top level), and jQuery makes it possible to do this in a cross-browser fashion.
The child combinator (E > F) can be thought of as a more specific form of the descendant combinator (E F) in that it selects only first-level descendants. Therefore, in the following HTML code, the <img> element is a child only of the <span> element:
