Top Banner
jQuery Jason Noble http:// jasonnoble.org Code Download: http://jasonnoble.org/jquery/jquery.zip
25

jQuery Intro

Nov 02, 2014

Download

Technology

Jason Noble

Intro to jQuery talk given to Atlanta.PM 1/27/2010
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: jQuery Intro

jQuery

Jason Noblehttp://jasonnoble.org

Code Download: http://jasonnoble.org/jquery/jquery.zip

Page 2: jQuery Intro

History

• John Resig hints of a JavaScript library to use CSS selectors with a more succint syntax than existing libraries (2005)

• First release January 2006

Page 3: jQuery Intro

Benefits

• Easy to play with the DOM• Add JS effects• AJAX• Cross-browser Compatibility

– jQuery handles browser caveats for you• CSS3 Selectors• Helpful Utilities

Page 4: jQuery Intro

Benefits (cont.)

• jQuery UI– Useful effects– Advanced UI widgets– UI Themes

• Plugins– jQuery is easily extensible

• Widespread adoption

Page 5: jQuery Intro

Firefox/Firebug Combo

• Firefox• Firebug plugin

Page 6: jQuery Intro

Let’s get Started

• curl -o jquery-1.4.4.min.js http://code.jquery.com/jquery-1.4.4.min.js

• vi hello.html

Page 7: jQuery Intro

jQuery Function

• Adding jQuery to a HTML page gives you access to the jQuery function– jQuery– jQuery(alert(‘Hello’))

• jQuery function is aliased as $– $– $(alert(‘Hello’))

Page 8: jQuery Intro

Document Object Model (DOM)

• Not specific to jQuery• Standard way of representing objects in

HTML that all browsers follow• Hierarchal representation of your HTML• Parent and children elements• Each element can have an id and/or

one or more class attributes

Page 9: jQuery Intro

DOM (Cont.)

Page 10: jQuery Intro

Elements id

• Uniquely identifies the element

<div id=“footer”>Thanks for visiting</div>

• That div’s id is “footer”. Should only be one “footer” id.

Page 11: jQuery Intro

Elements class

• Multiple page elements can have the same type of class

<p class=“warning”>Sorry….</p><span class=“warning error”>Please try again</span>

• Classifies elements as a “warning”• Multiple classes on an element are seperated

by spaces

Page 12: jQuery Intro

CSS Selectors

• # selects an element via id– div#heading

• <div id=“heading”>

• . selects an element via class– div.heading

• <div class=“heading”>

• Bare words selects HTML tags– span

• <span>

Page 13: jQuery Intro

Update our HTML

Page 14: jQuery Intro

jQuery Statements

selector action parameters jQuery(‘p’) .css (‘color’, ‘blue’); $(‘p’) .css (‘color’, ‘blue’);

$(‘p’) .css (‘font-size’, ‘35px’);

Page 15: jQuery Intro

jQuery Statements

• $('#one').css('color', 'green');

• $('.not_first').css('font-size', '22pt');

• $('p.first').html('This is better');

Page 16: jQuery Intro

Document Ready Event

• When our document is ready, run our function

<script> $(document).ready(function() { alert(‘Welcome to my page!’); });</script>• This is a fairly common code snippet

Page 17: jQuery Intro

Play with tables

Page 18: jQuery Intro

jQuery filters

• Removes certain elements– $(‘table tr:even’) # => 0, 2, 4, 6…– $(‘table tr:odd’) # => 1, 3, 5, 7…– $(‘table tr:first’) # => 0– $(‘table tr:last’) # => Last row– $(‘table tr:eq(3)’) # => Third row

Page 19: jQuery Intro

Play with tables (cont.)$('table tr:even').css('background-color', 'lightgrey')

$('table tr:first').css('font-size', '64pt')

$('table tr td').filter(function(index) { return index % 3 == 2;}).css('color', 'red')

Many more selectors: http://api.jquery.com/category/selectors/

Page 20: jQuery Intro

Playing with Ajax

• Asynchronous JavaScript and XML• Allows you to update elements on your

page without refreshing the entire page• Google suggest was one of the first

sites to use it (2005)

Page 21: jQuery Intro

load.html

Page 22: jQuery Intro

Ajax Content

Page 23: jQuery Intro

ajaxStart / ajaxStop

• $(document).ajaxStart(…)– Called when an ajax request is started

• $(document).ajaxStop(…)– Called when an ajax request is complete

Page 24: jQuery Intro

$(selector).click(…)

• Executes code when a given div/button/etc is clicked

Page 25: jQuery Intro

Username Validation

• Uses a jQuery plugin (jquery.validate)• http://bassistance.de/jquery-plugins/jque

ry-plugin-validation/