SlideShare a Scribd company logo
for Developers
Introduction Ralph Whitbeck jQuery Team Member, on the Evangelism team Co-authored O’Rielly’s “jQuery Cookbook” due out   end of year Senior Web Application Engineer  BrandLogic Corporation   ( http://brandlogic.com)  Blog: http://ralphwhitbeck.com Twitter: @RedWolves
We’re not in Kansas anymore!
Overview Who, what, where and why of jQuery Review Core jQuery Concepts jQuery API Overview jQuery plugins jQuery UI jQuery News Announcement
Who uses jQuery  35.36% of all sites that use JavaScript, use jQuery A little more then 1 out 5 sites (23.07%), use jQuery http://trends.builtwith.com/javascript/JQuery
Who uses jQuery  35% of all site that use JavaScript, use jQuery 1 out 5 sites, use jQuery http://trends.builtwith.com/javascript/JQuery
Who uses jQuery  35% of all site that use JavaScript, use jQuery 1 out 5 sites, use jQuery http://trends.builtwith.com/javascript/JQuery
What is jQuery?  jQuery is a JavaScript Library! Dealing with the DOM (e.g. selecting, creating, traversing, changing, etc.) JavaScript Events Animations Ajax interactions
What does that mean?
if (browserType == "ie")  document.poppedLayer =  eval('document.getElementById("HiddenDIV")');  else  document.poppedLayer =  eval('document.layers["HiddenDIV"]');  document.poppedLayer.style.visibility = "visible";  It means no more of this…
Using jQuery we can do this   jQuery(“#HiddenDiv”).show();
Using jQuery we can do this   jQuery (“#HiddenDIV”).show(); var $ = jQuery; $(“#HiddenDiv”).show(); jQuery function
Using jQuery we can do this   jQuery(“ #HiddenDIV ”).show(); jQuery Function jQuery Selector (CSS expression)
Using jQuery we can do this   jQuery(“#HiddenDIV”) .show(); jQuery Wrapped Set jQuery Function jQuery Selector (CSS expression)
Using jQuery we can do this   jQuery(“#HiddenDIV”). show() ; jQuery Wrapped Set jQuery Function jQuery Selector (CSS expression) jQuery Method
jQuery really is the “write less, do more” JavaScript Library!
Why use jQuery?  Helps us to simplify and speed up web development Allows us to avoid common headaches associated with cross-browser development Provides a large pool of plugins Large and active community Tested on 50 browsers, 11 platforms It’s for both developers and designers
Why use jQuery?  Helps us to simplify and speed up web development Allows us to avoid common headaches associated with cross-browser development Provides a large pool of plugins Large and active community Tested on 50 browsers, 11 platforms It’s for both developers and designers
Why use jQuery?  Helps us to simplify and speed up web development Allows us to avoid common headaches associated with cross-browser development Provides a large pool of plugins Large and active community Tested on 50 browsers, 11 platforms It’s for both developers and designers
Where to get jQuery Download the source from Github (moved last night) Or use a CDN Google Microsoft
Core jQuery Concepts Select Something, do something Create something, do something Chaining and Operating Demo’d  http://ejohn.org/apps/learn-jquery/ and http://ralphwhitbeck.com/talks/stackoverflowdevdays/createdosomething.html
jQuery API Overview Core Selectors Attributes Traversing Manipulation CSS Events Effects Ajax Utilities You can review Core Methods at: http://docs.jquery.com or http://api.jquery.com
jQuery Plugins     There are over 2200 plugins  Plugins extend jQuery’s functionality If you can’t find the functionality in a plugin, make your own! You can make a jQuery Plugin in six steps
Step 1. create a private scope for $ alias <!DOCTYPE html><html><body> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){ })(jQuery); </script></body></html> A jQuery plugin in 6 steps
Step 2. attach plugin to fn alias <!DOCTYPE html><html><body> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){  $.fn.loveNotHate = function(){ $(this).text($(this).text().replace(/hate/g,'love'));  };  })(jQuery); </script></body></html> A jQuery plugin in 6 steps
Step 2. attach plugin to fn alias <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){  $.fn.loveNotHate = function(){ $(this).text($(this).text().replace(/hate/g,'love'));  };  })(jQuery); jQuery('p').loveNotHate(); </script></body></html> A jQuery plugin in 6 steps
Step 3. add implicit iteration <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){  $.fn.loveNotHate = function(){  this.each(function(){ $(this).text($(this).text().replace(/hate/g,'love'));  });  };  })(jQuery); jQuery('p').loveNotHate(); </script></body></html> A jQuery plugin in 6 steps
Step 3. add implicit iteration <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <p>I mean really hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){  $.fn.loveNotHate = function(){  this.each(function(){ $(this).text($(this).text().replace(/hate/g,'love'));  });  };  })(jQuery); jQuery('p').loveNotHate(); </script></body></html> A jQuery plugin in 6 steps
Step 4. enable chaining <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <p>I mean really hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){  $.fn.loveNotHate = function(){  return  this.each(function(){ $(this).text($(this).text().replace(/hate/g,'love'));  });  };  })(jQuery); jQuery('p').loveNotHate(); </script></body></html> A jQuery plugin in 6 steps
Step 4. enable chaining <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <p>I mean really hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){  $.fn.loveNotHate = function(){  return this.each(function(){ $(this).text($(this).text().replace(/hate/g,'love'));  });  };  })(jQuery); jQuery('p').loveNotHate() .hide() ; </script></body></html> A jQuery plugin in 6 steps
Step 5. add default options <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <p>I mean really hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){  $.fn.loveNotHate = function(){  return this.each(function(){ $(this).text($(this).text().replace(/hate/g, $.fn.loveNotHate.defaultOptions.text ));  });  };  $.fn.loveNotHate.defaultOptions = {text:'love'}; })(jQuery); jQuery('p').loveNotHate(); </script></body></html> A jQuery plugin in 6 steps
Step 6. add custom options <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <p>I mean really hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){  $.fn.loveNotHate = function(){  return this.each(function(){ $(this).text($(this).text().replace(/hate/g, $.fn.loveNotHate.defaultOptions.text));  });  };  $.fn.loveNotHate.defaultOptions = {text:'love'}; })(jQuery); jQuery('p').loveNotHate( {text:'love-love-love'} ); </script></body></html> A jQuery plugin in 6 steps
Step 6. add custom options <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <p>I mean really hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){  $.fn.loveNotHate = function( customOptions ){  return this.each(function(){ $(this).text($(this).text().replace(/hate/g, $.fn.loveNotHate.defaultOptions.text));  });  };  $.fn.loveNotHate.defaultOptions = {text:'love'}; })(jQuery); jQuery('p').loveNotHate( {text:'love-love-love'} ); </script></body></html> A jQuery plugin in 6 steps
Step 6. add custom options <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <p>I mean really hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){  $.fn.loveNotHate = function( customOptions ){  var options = $.extend({},$.fn.loveNotHate.defaultOptions, customOptions);  return this.each(function(){ $(this).text($(this).text().replace(/hate/g, $.fn.loveNotHate.defaultOptions.text));  });  };  $.fn.loveNotHate.defaultOptions = {text:'love'}; })(jQuery); jQuery('p').loveNotHate( {text:'love-love-love'} ); </script></body></html> A jQuery plugin in 6 steps
Step 6. add custom options <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <p>I mean really hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){  $.fn.loveNotHate = function( customOptions ){  var options = $.extend({},$.fn.loveNotHate.defaultOptions, customOptions);  return this.each(function(){ $(this).text($(this).text().replace(/hate/g, options.text ));  });  };  $.fn.loveNotHate.defaultOptions = {text:'love'}; })(jQuery); jQuery('p').loveNotHate( {text:'love-love-love'} ); </script></body></html> A jQuery plugin in 6 steps
Plugins are simple, just follow the steps!
jQuery UI   Official jQuery Project Provides plugins that make user interface elements easy Contains: Interactions  (Draggable, Droppable, Resizable, Selectable & Sortable) Widgets  (Accordian, Datepicker, Dialog, Progressbar, Slider, Tabs) Effects  (AddClass, RemoveClass, Animate, Effects, etc.) Theming
What can jQuery & jQuery UI Produce? High school students from Spotswood High School Jamie Gilar John Cicolella Demo’d  http://www.jamie.strunex.net/homework/channel/ Also Demo’d  http://ralphwhitbeck.com/talks/stackoverflowdevdays/ui-createdosomething.html
jQuery News Four Conferences next year (online, San Francisco, London, and Boston) Revamped Plugin site (by EOY) jQuery Ownership transferred from John Resig to the Software Freedom Conservancy. jQuery 1.4 coming soon Much More, including…
Announcement
The Official jQuery Podcast jQuery Podcast Co-hosting with Elijah Manor Scheduled to release 1 st  Episode mid-November Similar in format to This Week in Tech Live streaming via  http://tinychat.com/jquerypodcast Twitter Account: @jQueryPodcast
The Official jQuery Podcast Interview key people in the jQuery Community First scheduled guest is John Resig Second scheduled guest is Richard D. Worth Hopefully Jeff and Joel in the future
Thank You Questions?
Ad

More Related Content

What's hot (20)

Wookie Meetup
Wookie MeetupWookie Meetup
Wookie Meetup
scottw
 
The Art of AngularJS in 2015 - Angular Summit 2015
The Art of AngularJS in 2015 - Angular Summit 2015The Art of AngularJS in 2015 - Angular Summit 2015
The Art of AngularJS in 2015 - Angular Summit 2015
Matt Raible
 
Djangoアプリのデプロイに関するプラクティス / Deploy django application
Djangoアプリのデプロイに関するプラクティス / Deploy django applicationDjangoアプリのデプロイに関するプラクティス / Deploy django application
Djangoアプリのデプロイに関するプラクティス / Deploy django application
Masashi Shibata
 
J Query - Your First Steps
J Query - Your First StepsJ Query - Your First Steps
J Query - Your First Steps
Bronson Quick
 
React django
React djangoReact django
React django
Heber Silva
 
Writing Software not Code with Cucumber
Writing Software not Code with CucumberWriting Software not Code with Cucumber
Writing Software not Code with Cucumber
Ben Mabey
 
Making your Angular.js Application accessible
Making your Angular.js Application accessibleMaking your Angular.js Application accessible
Making your Angular.js Application accessible
Dirk Ginader
 
Getting Started with Angular - Stormpath Webinar, January 2017
Getting Started with Angular - Stormpath Webinar, January 2017Getting Started with Angular - Stormpath Webinar, January 2017
Getting Started with Angular - Stormpath Webinar, January 2017
Matt Raible
 
A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019
Matt Raible
 
greach 2014 marco vermeulen bdd using cucumber jvm and groovy
greach 2014 marco vermeulen bdd using cucumber jvm and groovygreach 2014 marco vermeulen bdd using cucumber jvm and groovy
greach 2014 marco vermeulen bdd using cucumber jvm and groovy
Jessie Evangelista
 
An easy guide to Plugin Development
An easy guide to Plugin DevelopmentAn easy guide to Plugin Development
An easy guide to Plugin Development
Shinichi Nishikawa
 
Beginning WordPress Plugin Development
Beginning WordPress Plugin DevelopmentBeginning WordPress Plugin Development
Beginning WordPress Plugin Development
Aizat Faiz
 
Building Single Page Apps with React.JS
Building Single Page Apps with React.JSBuilding Single Page Apps with React.JS
Building Single Page Apps with React.JS
Vagmi Mudumbai
 
Parse Apps with Ember.js
Parse Apps with Ember.jsParse Apps with Ember.js
Parse Apps with Ember.js
Matthew Beale
 
Django の認証処理実装パターン / Django Authentication Patterns
Django の認証処理実装パターン / Django Authentication PatternsDjango の認証処理実装パターン / Django Authentication Patterns
Django の認証処理実装パターン / Django Authentication Patterns
Masashi Shibata
 
Reactive Type safe Webcomponents with skateJS
Reactive Type safe Webcomponents with skateJSReactive Type safe Webcomponents with skateJS
Reactive Type safe Webcomponents with skateJS
Martin Hochel
 
Ten practical ways to improve front-end performance
Ten practical ways to improve front-end performanceTen practical ways to improve front-end performance
Ten practical ways to improve front-end performance
Andrew Rota
 
JSConf US 2010
JSConf US 2010JSConf US 2010
JSConf US 2010
Steve Souders
 
Introduction to VueJS & The WordPress REST API
Introduction to VueJS & The WordPress REST APIIntroduction to VueJS & The WordPress REST API
Introduction to VueJS & The WordPress REST API
Caldera Labs
 
Front End Development: The Important Parts
Front End Development: The Important PartsFront End Development: The Important Parts
Front End Development: The Important Parts
Sergey Bolshchikov
 
Wookie Meetup
Wookie MeetupWookie Meetup
Wookie Meetup
scottw
 
The Art of AngularJS in 2015 - Angular Summit 2015
The Art of AngularJS in 2015 - Angular Summit 2015The Art of AngularJS in 2015 - Angular Summit 2015
The Art of AngularJS in 2015 - Angular Summit 2015
Matt Raible
 
Djangoアプリのデプロイに関するプラクティス / Deploy django application
Djangoアプリのデプロイに関するプラクティス / Deploy django applicationDjangoアプリのデプロイに関するプラクティス / Deploy django application
Djangoアプリのデプロイに関するプラクティス / Deploy django application
Masashi Shibata
 
J Query - Your First Steps
J Query - Your First StepsJ Query - Your First Steps
J Query - Your First Steps
Bronson Quick
 
Writing Software not Code with Cucumber
Writing Software not Code with CucumberWriting Software not Code with Cucumber
Writing Software not Code with Cucumber
Ben Mabey
 
Making your Angular.js Application accessible
Making your Angular.js Application accessibleMaking your Angular.js Application accessible
Making your Angular.js Application accessible
Dirk Ginader
 
Getting Started with Angular - Stormpath Webinar, January 2017
Getting Started with Angular - Stormpath Webinar, January 2017Getting Started with Angular - Stormpath Webinar, January 2017
Getting Started with Angular - Stormpath Webinar, January 2017
Matt Raible
 
A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019
Matt Raible
 
greach 2014 marco vermeulen bdd using cucumber jvm and groovy
greach 2014 marco vermeulen bdd using cucumber jvm and groovygreach 2014 marco vermeulen bdd using cucumber jvm and groovy
greach 2014 marco vermeulen bdd using cucumber jvm and groovy
Jessie Evangelista
 
An easy guide to Plugin Development
An easy guide to Plugin DevelopmentAn easy guide to Plugin Development
An easy guide to Plugin Development
Shinichi Nishikawa
 
Beginning WordPress Plugin Development
Beginning WordPress Plugin DevelopmentBeginning WordPress Plugin Development
Beginning WordPress Plugin Development
Aizat Faiz
 
Building Single Page Apps with React.JS
Building Single Page Apps with React.JSBuilding Single Page Apps with React.JS
Building Single Page Apps with React.JS
Vagmi Mudumbai
 
Parse Apps with Ember.js
Parse Apps with Ember.jsParse Apps with Ember.js
Parse Apps with Ember.js
Matthew Beale
 
Django の認証処理実装パターン / Django Authentication Patterns
Django の認証処理実装パターン / Django Authentication PatternsDjango の認証処理実装パターン / Django Authentication Patterns
Django の認証処理実装パターン / Django Authentication Patterns
Masashi Shibata
 
Reactive Type safe Webcomponents with skateJS
Reactive Type safe Webcomponents with skateJSReactive Type safe Webcomponents with skateJS
Reactive Type safe Webcomponents with skateJS
Martin Hochel
 
Ten practical ways to improve front-end performance
Ten practical ways to improve front-end performanceTen practical ways to improve front-end performance
Ten practical ways to improve front-end performance
Andrew Rota
 
Introduction to VueJS & The WordPress REST API
Introduction to VueJS & The WordPress REST APIIntroduction to VueJS & The WordPress REST API
Introduction to VueJS & The WordPress REST API
Caldera Labs
 
Front End Development: The Important Parts
Front End Development: The Important PartsFront End Development: The Important Parts
Front End Development: The Important Parts
Sergey Bolshchikov
 

Viewers also liked (20)

The Sorting Machine Web Quest Rubric
The Sorting Machine Web Quest RubricThe Sorting Machine Web Quest Rubric
The Sorting Machine Web Quest Rubric
u1032565
 
Presentation kaka
Presentation kakaPresentation kaka
Presentation kaka
Zinat Tamami
 
Wc no
Wc noWc no
Wc no
Ivelina Dimova
 
Replik tergugat-i-done
Replik tergugat-i-doneReplik tergugat-i-done
Replik tergugat-i-done
Nicholas Dammen Jr
 
Mekanisme Evolusi 1 A ( Ch 22)
Mekanisme  Evolusi 1 A ( Ch 22)Mekanisme  Evolusi 1 A ( Ch 22)
Mekanisme Evolusi 1 A ( Ch 22)
Biodas Unsoed
 
Platyhelmithes
PlatyhelmithesPlatyhelmithes
Platyhelmithes
Dhea Pangestu
 
JSConf.it 2011: A Wondrous Experience of Sound, Light, and Code
JSConf.it 2011: A Wondrous Experience of Sound, Light, and CodeJSConf.it 2011: A Wondrous Experience of Sound, Light, and Code
JSConf.it 2011: A Wondrous Experience of Sound, Light, and Code
Johannes Fahrenkrug
 
President's List Honors
President's List Honors President's List Honors
President's List Honors
Deborah Schwebius
 
Derechos de autor entrega
Derechos de autor entregaDerechos de autor entrega
Derechos de autor entrega
Camilo Diaz
 
Pertemuan ke 2 (perangkat keras)
Pertemuan ke 2 (perangkat keras)Pertemuan ke 2 (perangkat keras)
Pertemuan ke 2 (perangkat keras)
Ahmad Muno
 
Facebook Feature (Like,Unlike,Comment)
Facebook Feature (Like,Unlike,Comment)  Facebook Feature (Like,Unlike,Comment)
Facebook Feature (Like,Unlike,Comment)
Kaml Sah
 
Дума и администрация о дорогах
Дума и администрация о дорогахДума и администрация о дорогах
Дума и администрация о дорогах
Ольга Бердецкая
 
PKL_Report body
PKL_Report bodyPKL_Report body
PKL_Report body
Titis Rohmah M
 
Tec16grupo9 ide9610177 anexos1
Tec16grupo9 ide9610177 anexos1Tec16grupo9 ide9610177 anexos1
Tec16grupo9 ide9610177 anexos1
miguel angel monterroso manzo
 
Promoting your business flyer
Promoting your business flyerPromoting your business flyer
Promoting your business flyer
dgamache
 
Kt thn 4
Kt thn 4Kt thn 4
Kt thn 4
Chenta Amira
 
Testing Your Sproutcore Presentation
Testing Your Sproutcore PresentationTesting Your Sproutcore Presentation
Testing Your Sproutcore Presentation
gmoeck
 
Chris Woolard, Ofcom, Preparing for change – what will drive future growth?
Chris Woolard, Ofcom, Preparing for change – what will drive future growth?Chris Woolard, Ofcom, Preparing for change – what will drive future growth?
Chris Woolard, Ofcom, Preparing for change – what will drive future growth?
dcmsdigital
 
From GNETS to Home School
From GNETS to Home SchoolFrom GNETS to Home School
From GNETS to Home School
eeniarrol
 
The Sorting Machine Web Quest Rubric
The Sorting Machine Web Quest RubricThe Sorting Machine Web Quest Rubric
The Sorting Machine Web Quest Rubric
u1032565
 
Mekanisme Evolusi 1 A ( Ch 22)
Mekanisme  Evolusi 1 A ( Ch 22)Mekanisme  Evolusi 1 A ( Ch 22)
Mekanisme Evolusi 1 A ( Ch 22)
Biodas Unsoed
 
JSConf.it 2011: A Wondrous Experience of Sound, Light, and Code
JSConf.it 2011: A Wondrous Experience of Sound, Light, and CodeJSConf.it 2011: A Wondrous Experience of Sound, Light, and Code
JSConf.it 2011: A Wondrous Experience of Sound, Light, and Code
Johannes Fahrenkrug
 
Derechos de autor entrega
Derechos de autor entregaDerechos de autor entrega
Derechos de autor entrega
Camilo Diaz
 
Pertemuan ke 2 (perangkat keras)
Pertemuan ke 2 (perangkat keras)Pertemuan ke 2 (perangkat keras)
Pertemuan ke 2 (perangkat keras)
Ahmad Muno
 
Facebook Feature (Like,Unlike,Comment)
Facebook Feature (Like,Unlike,Comment)  Facebook Feature (Like,Unlike,Comment)
Facebook Feature (Like,Unlike,Comment)
Kaml Sah
 
Дума и администрация о дорогах
Дума и администрация о дорогахДума и администрация о дорогах
Дума и администрация о дорогах
Ольга Бердецкая
 
Promoting your business flyer
Promoting your business flyerPromoting your business flyer
Promoting your business flyer
dgamache
 
Testing Your Sproutcore Presentation
Testing Your Sproutcore PresentationTesting Your Sproutcore Presentation
Testing Your Sproutcore Presentation
gmoeck
 
Chris Woolard, Ofcom, Preparing for change – what will drive future growth?
Chris Woolard, Ofcom, Preparing for change – what will drive future growth?Chris Woolard, Ofcom, Preparing for change – what will drive future growth?
Chris Woolard, Ofcom, Preparing for change – what will drive future growth?
dcmsdigital
 
From GNETS to Home School
From GNETS to Home SchoolFrom GNETS to Home School
From GNETS to Home School
eeniarrol
 
Ad

Similar to jQuery For Developers Stack Overflow Dev Days Toronto (20)

jQuery and_drupal
jQuery and_drupaljQuery and_drupal
jQuery and_drupal
BlackCatWeb
 
jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009
Ralph Whitbeck
 
jQuery
jQueryjQuery
jQuery
Mohammed Arif
 
Intro to jQuery
Intro to jQueryIntro to jQuery
Intro to jQuery
Eric Steinborn
 
Building Web Hack Interfaces
Building Web Hack InterfacesBuilding Web Hack Interfaces
Building Web Hack Interfaces
Christian Heilmann
 
Rey Bango - HTML5: polyfills and shims
Rey Bango -  HTML5: polyfills and shimsRey Bango -  HTML5: polyfills and shims
Rey Bango - HTML5: polyfills and shims
StarTech Conference
 
Eugene Andruszczenko: jQuery
Eugene Andruszczenko: jQueryEugene Andruszczenko: jQuery
Eugene Andruszczenko: jQuery
Refresh Events
 
jQuery Presentation - Refresh Events
jQuery Presentation - Refresh EventsjQuery Presentation - Refresh Events
jQuery Presentation - Refresh Events
Eugene Andruszczenko
 
Taking your Web App for a walk
Taking your Web App for a walkTaking your Web App for a walk
Taking your Web App for a walk
Jens-Christian Fischer
 
jQuery Fundamentals
jQuery FundamentalsjQuery Fundamentals
jQuery Fundamentals
Doncho Minkov
 
Cucumber Presentation Kiev Meet Up
Cucumber Presentation Kiev Meet UpCucumber Presentation Kiev Meet Up
Cucumber Presentation Kiev Meet Up
dimakovalenko
 
Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011
dimakovalenko
 
Web App Testing With Selenium
Web App Testing With SeleniumWeb App Testing With Selenium
Web App Testing With Selenium
joaopmaia
 
Jquery
Jquery Jquery
Jquery
eginni
 
Extend sdk
Extend sdkExtend sdk
Extend sdk
Harsha Nagaraj
 
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
Alfresco Software
 
Widgets: Making Your Site Great and Letting Others Help - WordCamp Victoria
Widgets: Making Your Site Great and Letting Others Help - WordCamp VictoriaWidgets: Making Your Site Great and Letting Others Help - WordCamp Victoria
Widgets: Making Your Site Great and Letting Others Help - WordCamp Victoria
Jeff Richards
 
J query
J queryJ query
J query
Chalermpon Areepong
 
ActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group PresentationActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group Presentation
ipolevoy
 
jQuery Tips Tricks Trivia
jQuery Tips Tricks TriviajQuery Tips Tricks Trivia
jQuery Tips Tricks Trivia
Cognizant
 
jQuery and_drupal
jQuery and_drupaljQuery and_drupal
jQuery and_drupal
BlackCatWeb
 
jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009jQuery For Beginners - jQuery Conference 2009
jQuery For Beginners - jQuery Conference 2009
Ralph Whitbeck
 
Rey Bango - HTML5: polyfills and shims
Rey Bango -  HTML5: polyfills and shimsRey Bango -  HTML5: polyfills and shims
Rey Bango - HTML5: polyfills and shims
StarTech Conference
 
Eugene Andruszczenko: jQuery
Eugene Andruszczenko: jQueryEugene Andruszczenko: jQuery
Eugene Andruszczenko: jQuery
Refresh Events
 
jQuery Presentation - Refresh Events
jQuery Presentation - Refresh EventsjQuery Presentation - Refresh Events
jQuery Presentation - Refresh Events
Eugene Andruszczenko
 
Cucumber Presentation Kiev Meet Up
Cucumber Presentation Kiev Meet UpCucumber Presentation Kiev Meet Up
Cucumber Presentation Kiev Meet Up
dimakovalenko
 
Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011
dimakovalenko
 
Web App Testing With Selenium
Web App Testing With SeleniumWeb App Testing With Selenium
Web App Testing With Selenium
joaopmaia
 
Jquery
Jquery Jquery
Jquery
eginni
 
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
Alfresco Software
 
Widgets: Making Your Site Great and Letting Others Help - WordCamp Victoria
Widgets: Making Your Site Great and Letting Others Help - WordCamp VictoriaWidgets: Making Your Site Great and Letting Others Help - WordCamp Victoria
Widgets: Making Your Site Great and Letting Others Help - WordCamp Victoria
Jeff Richards
 
ActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group PresentationActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group Presentation
ipolevoy
 
jQuery Tips Tricks Trivia
jQuery Tips Tricks TriviajQuery Tips Tricks Trivia
jQuery Tips Tricks Trivia
Cognizant
 
Ad

Recently uploaded (20)

Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 

jQuery For Developers Stack Overflow Dev Days Toronto

  • 2. Introduction Ralph Whitbeck jQuery Team Member, on the Evangelism team Co-authored O’Rielly’s “jQuery Cookbook” due out end of year Senior Web Application Engineer  BrandLogic Corporation ( http://brandlogic.com) Blog: http://ralphwhitbeck.com Twitter: @RedWolves
  • 3. We’re not in Kansas anymore!
  • 4. Overview Who, what, where and why of jQuery Review Core jQuery Concepts jQuery API Overview jQuery plugins jQuery UI jQuery News Announcement
  • 5. Who uses jQuery 35.36% of all sites that use JavaScript, use jQuery A little more then 1 out 5 sites (23.07%), use jQuery http://trends.builtwith.com/javascript/JQuery
  • 6. Who uses jQuery 35% of all site that use JavaScript, use jQuery 1 out 5 sites, use jQuery http://trends.builtwith.com/javascript/JQuery
  • 7. Who uses jQuery 35% of all site that use JavaScript, use jQuery 1 out 5 sites, use jQuery http://trends.builtwith.com/javascript/JQuery
  • 8. What is jQuery? jQuery is a JavaScript Library! Dealing with the DOM (e.g. selecting, creating, traversing, changing, etc.) JavaScript Events Animations Ajax interactions
  • 10. if (browserType == &quot;ie&quot;) document.poppedLayer = eval('document.getElementById(&quot;HiddenDIV&quot;)'); else document.poppedLayer = eval('document.layers[&quot;HiddenDIV&quot;]'); document.poppedLayer.style.visibility = &quot;visible&quot;; It means no more of this…
  • 11. Using jQuery we can do this   jQuery(“#HiddenDiv”).show();
  • 12. Using jQuery we can do this   jQuery (“#HiddenDIV”).show(); var $ = jQuery; $(“#HiddenDiv”).show(); jQuery function
  • 13. Using jQuery we can do this   jQuery(“ #HiddenDIV ”).show(); jQuery Function jQuery Selector (CSS expression)
  • 14. Using jQuery we can do this   jQuery(“#HiddenDIV”) .show(); jQuery Wrapped Set jQuery Function jQuery Selector (CSS expression)
  • 15. Using jQuery we can do this   jQuery(“#HiddenDIV”). show() ; jQuery Wrapped Set jQuery Function jQuery Selector (CSS expression) jQuery Method
  • 16. jQuery really is the “write less, do more” JavaScript Library!
  • 17. Why use jQuery? Helps us to simplify and speed up web development Allows us to avoid common headaches associated with cross-browser development Provides a large pool of plugins Large and active community Tested on 50 browsers, 11 platforms It’s for both developers and designers
  • 18. Why use jQuery? Helps us to simplify and speed up web development Allows us to avoid common headaches associated with cross-browser development Provides a large pool of plugins Large and active community Tested on 50 browsers, 11 platforms It’s for both developers and designers
  • 19. Why use jQuery? Helps us to simplify and speed up web development Allows us to avoid common headaches associated with cross-browser development Provides a large pool of plugins Large and active community Tested on 50 browsers, 11 platforms It’s for both developers and designers
  • 20. Where to get jQuery Download the source from Github (moved last night) Or use a CDN Google Microsoft
  • 21. Core jQuery Concepts Select Something, do something Create something, do something Chaining and Operating Demo’d http://ejohn.org/apps/learn-jquery/ and http://ralphwhitbeck.com/talks/stackoverflowdevdays/createdosomething.html
  • 22. jQuery API Overview Core Selectors Attributes Traversing Manipulation CSS Events Effects Ajax Utilities You can review Core Methods at: http://docs.jquery.com or http://api.jquery.com
  • 23. jQuery Plugins   There are over 2200 plugins Plugins extend jQuery’s functionality If you can’t find the functionality in a plugin, make your own! You can make a jQuery Plugin in six steps
  • 24. Step 1. create a private scope for $ alias <!DOCTYPE html><html><body> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){ })(jQuery); </script></body></html> A jQuery plugin in 6 steps
  • 25. Step 2. attach plugin to fn alias <!DOCTYPE html><html><body> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){ $.fn.loveNotHate = function(){ $(this).text($(this).text().replace(/hate/g,'love')); }; })(jQuery); </script></body></html> A jQuery plugin in 6 steps
  • 26. Step 2. attach plugin to fn alias <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){ $.fn.loveNotHate = function(){ $(this).text($(this).text().replace(/hate/g,'love')); }; })(jQuery); jQuery('p').loveNotHate(); </script></body></html> A jQuery plugin in 6 steps
  • 27. Step 3. add implicit iteration <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){ $.fn.loveNotHate = function(){ this.each(function(){ $(this).text($(this).text().replace(/hate/g,'love')); }); }; })(jQuery); jQuery('p').loveNotHate(); </script></body></html> A jQuery plugin in 6 steps
  • 28. Step 3. add implicit iteration <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <p>I mean really hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){ $.fn.loveNotHate = function(){ this.each(function(){ $(this).text($(this).text().replace(/hate/g,'love')); }); }; })(jQuery); jQuery('p').loveNotHate(); </script></body></html> A jQuery plugin in 6 steps
  • 29. Step 4. enable chaining <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <p>I mean really hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){ $.fn.loveNotHate = function(){ return this.each(function(){ $(this).text($(this).text().replace(/hate/g,'love')); }); }; })(jQuery); jQuery('p').loveNotHate(); </script></body></html> A jQuery plugin in 6 steps
  • 30. Step 4. enable chaining <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <p>I mean really hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){ $.fn.loveNotHate = function(){ return this.each(function(){ $(this).text($(this).text().replace(/hate/g,'love')); }); }; })(jQuery); jQuery('p').loveNotHate() .hide() ; </script></body></html> A jQuery plugin in 6 steps
  • 31. Step 5. add default options <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <p>I mean really hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){ $.fn.loveNotHate = function(){ return this.each(function(){ $(this).text($(this).text().replace(/hate/g, $.fn.loveNotHate.defaultOptions.text )); }); }; $.fn.loveNotHate.defaultOptions = {text:'love'}; })(jQuery); jQuery('p').loveNotHate(); </script></body></html> A jQuery plugin in 6 steps
  • 32. Step 6. add custom options <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <p>I mean really hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){ $.fn.loveNotHate = function(){ return this.each(function(){ $(this).text($(this).text().replace(/hate/g, $.fn.loveNotHate.defaultOptions.text)); }); }; $.fn.loveNotHate.defaultOptions = {text:'love'}; })(jQuery); jQuery('p').loveNotHate( {text:'love-love-love'} ); </script></body></html> A jQuery plugin in 6 steps
  • 33. Step 6. add custom options <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <p>I mean really hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){ $.fn.loveNotHate = function( customOptions ){ return this.each(function(){ $(this).text($(this).text().replace(/hate/g, $.fn.loveNotHate.defaultOptions.text)); }); }; $.fn.loveNotHate.defaultOptions = {text:'love'}; })(jQuery); jQuery('p').loveNotHate( {text:'love-love-love'} ); </script></body></html> A jQuery plugin in 6 steps
  • 34. Step 6. add custom options <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <p>I mean really hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){ $.fn.loveNotHate = function( customOptions ){ var options = $.extend({},$.fn.loveNotHate.defaultOptions, customOptions); return this.each(function(){ $(this).text($(this).text().replace(/hate/g, $.fn.loveNotHate.defaultOptions.text)); }); }; $.fn.loveNotHate.defaultOptions = {text:'love'}; })(jQuery); jQuery('p').loveNotHate( {text:'love-love-love'} ); </script></body></html> A jQuery plugin in 6 steps
  • 35. Step 6. add custom options <!DOCTYPE html><html><body> <p>I hate jQuery!</p> <p>I mean really hate jQuery!</p> <script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;></script> <script> (function($){ $.fn.loveNotHate = function( customOptions ){ var options = $.extend({},$.fn.loveNotHate.defaultOptions, customOptions); return this.each(function(){ $(this).text($(this).text().replace(/hate/g, options.text )); }); }; $.fn.loveNotHate.defaultOptions = {text:'love'}; })(jQuery); jQuery('p').loveNotHate( {text:'love-love-love'} ); </script></body></html> A jQuery plugin in 6 steps
  • 36. Plugins are simple, just follow the steps!
  • 37. jQuery UI   Official jQuery Project Provides plugins that make user interface elements easy Contains: Interactions (Draggable, Droppable, Resizable, Selectable & Sortable) Widgets (Accordian, Datepicker, Dialog, Progressbar, Slider, Tabs) Effects (AddClass, RemoveClass, Animate, Effects, etc.) Theming
  • 38. What can jQuery & jQuery UI Produce? High school students from Spotswood High School Jamie Gilar John Cicolella Demo’d http://www.jamie.strunex.net/homework/channel/ Also Demo’d http://ralphwhitbeck.com/talks/stackoverflowdevdays/ui-createdosomething.html
  • 39. jQuery News Four Conferences next year (online, San Francisco, London, and Boston) Revamped Plugin site (by EOY) jQuery Ownership transferred from John Resig to the Software Freedom Conservancy. jQuery 1.4 coming soon Much More, including…
  • 41. The Official jQuery Podcast jQuery Podcast Co-hosting with Elijah Manor Scheduled to release 1 st Episode mid-November Similar in format to This Week in Tech Live streaming via http://tinychat.com/jquerypodcast Twitter Account: @jQueryPodcast
  • 42. The Official jQuery Podcast Interview key people in the jQuery Community First scheduled guest is John Resig Second scheduled guest is Richard D. Worth Hopefully Jeff and Joel in the future

Editor's Notes

  • #8: There are 11 thousand + questions tagged at stackoverflow, jQuery 9 th highest used tag. (higher than iphone) jQuery is second only to javascript in client side scripting languages in questions tagged
  • #9: It simplifies…
  • #15: Wrapped Set , is an array like structure that contains each of the selected DOM elements. You can iterate over the wrapped set like an array or access individual elements via the indexer. More importantly though you can also apply jQuery functions against all the selected elements.
  • #19: Any good JavaScript framework will do these top two points
  • #20: It’s these last four that really set jQuery apart
  • #21: It’s these last four that really set jQuery apart
  • #22: Learn jQuery Effects Demo
  • #23: Show AIR APP (Screen 4) The API is broken up to help you find what you need to do one of the core jquery functions select, create, do something then do something else. The API is categorized by functionality
  • #25: Create a private scope for the jQuery Alias
  • #38: So what do you need to do to be able to use jQuery on your page.
  • #44: Ask if there are any questions if there is time.