SlideShare a Scribd company logo
jQuery Introduction Twitter: @tomijuhola Tomi Juhola, 29.8.2011 Versio:  |  Status:      |  Updated: 0.1 Draft Tomi Juhola, 29.8.2011
Motivation? Target? jQuery is not much educated technology We have a need with people having JavaScript & jQuery skills, as well as an idea how it should be used Target: Familiarize you with the JavaScript and jQuery library Get to know the mostly used parts of jQuery Give guidance on the first steps towards client-side scripting mastery
Agenda JAVASCRIPT BASICS JQUERY BASICS DOM MANIPULATION EVENTS ANIMATIONS JQUERY UI ADDITIONAL RESOURCES
JavaScript Basics 01
What is JavaScript? Scripting language  Dynamic (e.g. objects can be extended during run-time) Weakly-typed (No type needed for variables) Multiparadigm:  Object-oriented Imperative (statements that change program state) Functional (more mathematical model of imperative programming) Prototype based (uses object cloning instead of inheritance) First-class functions (passing functions as parameters to other functions etc.) Implementation of ECMAScript language standard Used mainly on client-side web interfaces
JavaScript syntax JS syntax is C-style, so also close to Java However, JavaScript has really nothing else to do with Java.. Basic statements for ( var i = 0; i < 3; i++ ) {   // DO SOMETHING }  for ( var i in array) {   // DO SOMETHING USEFUL  } while ( true ) {   // DO SOMETHING FOREVER } If (a == b+2)
More simple code examples var variable = ”String”;  Variables scoped to the function, not just the block: function isTen(a){ if (a==10) { var result = ”Success!” } return result; }
Even more simple code examples var myFirstObject = {name: ”Peter”, age: 12}; myFirstObject.name = ”Pete”; if (myFirstObject.age <18) return ”no fun allowed”; Oh, and how to use? <script type=&quot;text/javascript&quot;> document.write('Hello World!'); </script> <noscript> <p>No JS Support!.</p> </noscript>
Issues Cross-browser support DOM (Document Object Model) might be too complicated So HTML page structure No compile time  checking No compile time  at all :) Can be easily disabled Security: XSS (Cross-site scripting), CSRF (Cross-site request forgery) Not easily testable code
jQuery Basics 02
What is jQuery? JavaScript library Cross-browser support Aimed for client-side scripting Released in 2006 Most popular JS library today FOSS (Free and Open Source Software) Licensed under MIT license and GPLv2 Under active development, industry support www.jquery.com You’ll only need the  jquery-1.2.6.min.js  file and one line:  <script type=&quot;text/javascript&quot; src=&quot;jquery-1.2.6.min.js“></script>   to enable all the goodness!
jQuery features DOM elements: select, modify Events CSS handling Flashy effects Ajax Plugin framework Some utility functions (browser version) Very easy to use! And still everything should be cross-browser supported!
DOM manipulation 03
The Focus of jQuery Thanks to John Resig (JavaScript and jQuery, ACM Northeastern University) jQuery object $ (also valid: jQuery(”div”)… )
Examples $(”div”) Selects all divs $(”.myClass”) Selects all items with myClass class $(”#myId”) Selects all items with myId id (should be just one!) $(”div.myClass”) Selects all divs with myClass class $(”div.myClass”).append(”<p>Text text text</p>”); Appends paragrahps to selected divs $(”#myId”).css({font-weight: ”bold”});
Test page <!DOCTYPE html> <head> <title>jQuery test</title> </head> <body>  <script src=&quot;jquery-1.6.2.min.js&quot;></script> <script> $(document).ready(function(){ $(&quot;.changeMe&quot;).append(&quot;<p>Testing append</p>&quot;); }); </script> <div class=&quot;changeMe&quot;>Text1</div> <div class=&quot;dontChangeMe&quot;>Text2<div>  </body> </html> See more at:  http://ejohn.org/files/javascript.pdf
Events 04
Examples $(document).ready(function(){  $(&quot;a&quot;). click (function(event){  alert(“You clicked a link, but I won’t let you away&quot;);  event.preventDefault();  });  });  $(document).ready(function(){ $(&quot;div&quot;). hover (function () { $(this).append($(&quot;<span> Selected!</span>&quot;)); },  function () { $(this).find(&quot;span:last&quot;).remove(); }); });
$.ajax example $.ajax({ url: 'ajax/endpoint',  success: function(data) {   $('#resultDiv').html(data);   alert('DONE!');   } });
Animations 05
Animation examples $(document).ready(function(){ $(&quot;a&quot;).click(function(event){ event.preventDefault(); $(this). hide(&quot;slow&quot;); }); }); $(document).ready(function(){ $('div').click(function() { $('#dilbert'). slideToggle ('slow', function() {}); }); });
jQuery UI 06
jQuery UI http://jqueryui.com/ Built on top of the jQuery library Includes Widgets Effects Animations All including theme support , cross browser support, styling, internationalization etc.
Using e.g. accordion widget <link rel=&quot;stylesheet&quot; href=&quot;themes/base/jquery.ui.all.css&quot;> <script src=&quot;jquery-1.6.2.min.js&quot;></script> <script src=&quot;ui/jquery.ui.core.js&quot;></script> <script src=&quot;ui/jquery.ui.widget.js&quot;></script> <script src=&quot;ui/jquery.ui.accordion.js&quot;></script> ... $(function() { $( &quot;#accordion&quot; ).accordion({ autoHeight: false, navigation: true }); });
Additional resources 07
Web resources http://jquery.com/ http://jqueryui.com/ http://www.w3schools.com/js/default.asp http://www.learningjquery.com/ http://woorkup.com/2011/05/12/jquery-visual-cheat-sheet-1-6/ http://net.tutsplus.com/tutorials/javascript-ajax/simple-draggable-element-persistence-with-jquery/ https://developer.mozilla.org/en/JavaScript
Further reading jQuery in Action by Bear Bibeault and Yehida Kayz (Manning) Learning jQuery 1.3 by Jonathan Chaffer and Karl Swedberg (Packt) jQuery Cookbook by Cody Lindley (O’Reilly) jQuery: Novice to Ninja by Earle Castledine and Craig Sharkie (SitePoint) JavaScript, A Beginner’s Guide by John Pollock (McGraw-Hill) JavaScript: The Definitive Guide by David Flanagan (O’Reilly)
www.lindorff.fi Thank you! Tomi Juhola Development Lead mobile: +358 44 033 8639 [email_address] www.lindorff.fi Joukahaisenkatu 2 FI-20100 Turku

More Related Content

PPTX
Introduction to jQuery
PPTX
Introduction to jQuery
PPTX
SharePoint and jQuery Essentials
PDF
jQuery Loves Developers - Oredev 2009
PPTX
jQuery Presentation
PPTX
PDF
jQuery Introduction
PPT
Introduction to jQuery
Introduction to jQuery
SharePoint and jQuery Essentials
jQuery Loves Developers - Oredev 2009
jQuery Presentation
jQuery Introduction

What's hot (20)

PDF
jQuery Features to Avoid
PPTX
Unobtrusive javascript with jQuery
PPTX
Getting the Most Out of jQuery Widgets
PPTX
Maintainable JavaScript 2012
PPT
JQuery introduction
PPTX
jQuery
PDF
Introduction to jQuery
PDF
jQuery for beginners
PDF
jQuery Essentials
PDF
Learn css3
PPTX
JavaScript and jQuery Basics
KEY
The jQuery Library
PDF
Write Less Do More
PPT
J Query
PDF
D3.js and SVG
PPT
PPTX
Jquery Complete Presentation along with Javascript Basics
PDF
JavaScript Library Overview
PDF
jQuery Essentials
jQuery Features to Avoid
Unobtrusive javascript with jQuery
Getting the Most Out of jQuery Widgets
Maintainable JavaScript 2012
JQuery introduction
jQuery
Introduction to jQuery
jQuery for beginners
jQuery Essentials
Learn css3
JavaScript and jQuery Basics
The jQuery Library
Write Less Do More
J Query
D3.js and SVG
Jquery Complete Presentation along with Javascript Basics
JavaScript Library Overview
jQuery Essentials
Ad

Viewers also liked (20)

ODP
Introduction to jQuery
PPTX
Introduction to JSON & AJAX
PPTX
Introduction to JavaScript Programming
PPTX
An Introduction to the DOM
PPT
Document Object Model
PPT
Forms authentication
PPTX
Java swing
PPT
2310 b 09
ODP
Nosql availability & integrity
PPT
Perl Development
PPT
01 Ajax Intro
PPT
2310 b 11
PPTX
Introduction To Silverlight and Prism
PDF
PPT
Oid structure
PDF
5 Key Components of Genrocket
PPT
Ajax & ASP.NET 2
PPT
Oracle 10g Application Server
PDF
PPT
Itp 120 Chapt 19 2009 Binary Input & Output
Introduction to jQuery
Introduction to JSON & AJAX
Introduction to JavaScript Programming
An Introduction to the DOM
Document Object Model
Forms authentication
Java swing
2310 b 09
Nosql availability & integrity
Perl Development
01 Ajax Intro
2310 b 11
Introduction To Silverlight and Prism
Oid structure
5 Key Components of Genrocket
Ajax & ASP.NET 2
Oracle 10g Application Server
Itp 120 Chapt 19 2009 Binary Input & Output
Ad

Similar to jQuery introduction (20)

PPTX
Microsoft and jQuery
PPT
Javascript: Ajax & DOM Manipulation v1.2
PDF
High Performance JavaScript 2011
ODP
Developing and testing ajax components
PPTX
J Query Presentation
PPT
PPT
jQuery and_drupal
PPT
JWU Guest Talk: JavaScript and AJAX
PPT
Javascript 2009
PPT
Introduction to javaScript
ODP
ActiveWeb: Chicago Java User Group Presentation
PPT
Building Smart Workflows - Dan Diebolt
PPT
Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010
PPTX
High Performance JavaScript (CapitolJS 2011)
PPT
Jsfsunum
PPT
Even Faster Web Sites at jQuery Conference '09
PPT
JavaScript: Ajax & DOM Manipulation
PPT
Strutsjspservlet
PPT
Struts,Jsp,Servlet
Microsoft and jQuery
Javascript: Ajax & DOM Manipulation v1.2
High Performance JavaScript 2011
Developing and testing ajax components
J Query Presentation
jQuery and_drupal
JWU Guest Talk: JavaScript and AJAX
Javascript 2009
Introduction to javaScript
ActiveWeb: Chicago Java User Group Presentation
Building Smart Workflows - Dan Diebolt
Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010
High Performance JavaScript (CapitolJS 2011)
Jsfsunum
Even Faster Web Sites at jQuery Conference '09
JavaScript: Ajax & DOM Manipulation
Strutsjspservlet
Struts,Jsp,Servlet

Recently uploaded (20)

PDF
REPORT: Heating appliances market in Poland 2024
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
AI And Its Effect On The Evolving IT Sector In Australia - Elevate
PPTX
Telecom Fraud Prevention Guide | Hyperlink InfoSystem
PDF
CIFDAQ's Teaching Thursday: Moving Averages Made Simple
PPTX
CroxyProxy Instagram Access id login.pptx
PDF
Enable Enterprise-Ready Security on IBM i Systems.pdf
PDF
Top Generative AI Tools for Patent Drafting in 2025.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Web Security: Login Bypass, SQLi, CSRF & XSS.pptx
PDF
Modernizing your data center with Dell and AMD
PPTX
ABU RAUP TUGAS TIK kelas 8 hjhgjhgg.pptx
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PPTX
How to Build Crypto Derivative Exchanges from Scratch.pptx
PDF
KodekX | Application Modernization Development
PDF
Sensors and Actuators in IoT Systems using pdf
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
Dell Pro 14 Plus: Be better prepared for what’s coming
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
REPORT: Heating appliances market in Poland 2024
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
NewMind AI Monthly Chronicles - July 2025
AI And Its Effect On The Evolving IT Sector In Australia - Elevate
Telecom Fraud Prevention Guide | Hyperlink InfoSystem
CIFDAQ's Teaching Thursday: Moving Averages Made Simple
CroxyProxy Instagram Access id login.pptx
Enable Enterprise-Ready Security on IBM i Systems.pdf
Top Generative AI Tools for Patent Drafting in 2025.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Web Security: Login Bypass, SQLi, CSRF & XSS.pptx
Modernizing your data center with Dell and AMD
ABU RAUP TUGAS TIK kelas 8 hjhgjhgg.pptx
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
How to Build Crypto Derivative Exchanges from Scratch.pptx
KodekX | Application Modernization Development
Sensors and Actuators in IoT Systems using pdf
GamePlan Trading System Review: Professional Trader's Honest Take
Dell Pro 14 Plus: Be better prepared for what’s coming
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows

jQuery introduction

  • 1. jQuery Introduction Twitter: @tomijuhola Tomi Juhola, 29.8.2011 Versio: | Status: | Updated: 0.1 Draft Tomi Juhola, 29.8.2011
  • 2. Motivation? Target? jQuery is not much educated technology We have a need with people having JavaScript & jQuery skills, as well as an idea how it should be used Target: Familiarize you with the JavaScript and jQuery library Get to know the mostly used parts of jQuery Give guidance on the first steps towards client-side scripting mastery
  • 3. Agenda JAVASCRIPT BASICS JQUERY BASICS DOM MANIPULATION EVENTS ANIMATIONS JQUERY UI ADDITIONAL RESOURCES
  • 5. What is JavaScript? Scripting language Dynamic (e.g. objects can be extended during run-time) Weakly-typed (No type needed for variables) Multiparadigm: Object-oriented Imperative (statements that change program state) Functional (more mathematical model of imperative programming) Prototype based (uses object cloning instead of inheritance) First-class functions (passing functions as parameters to other functions etc.) Implementation of ECMAScript language standard Used mainly on client-side web interfaces
  • 6. JavaScript syntax JS syntax is C-style, so also close to Java However, JavaScript has really nothing else to do with Java.. Basic statements for ( var i = 0; i < 3; i++ ) { // DO SOMETHING } for ( var i in array) { // DO SOMETHING USEFUL } while ( true ) { // DO SOMETHING FOREVER } If (a == b+2)
  • 7. More simple code examples var variable = ”String”; Variables scoped to the function, not just the block: function isTen(a){ if (a==10) { var result = ”Success!” } return result; }
  • 8. Even more simple code examples var myFirstObject = {name: ”Peter”, age: 12}; myFirstObject.name = ”Pete”; if (myFirstObject.age <18) return ”no fun allowed”; Oh, and how to use? <script type=&quot;text/javascript&quot;> document.write('Hello World!'); </script> <noscript> <p>No JS Support!.</p> </noscript>
  • 9. Issues Cross-browser support DOM (Document Object Model) might be too complicated So HTML page structure No compile time checking No compile time at all :) Can be easily disabled Security: XSS (Cross-site scripting), CSRF (Cross-site request forgery) Not easily testable code
  • 11. What is jQuery? JavaScript library Cross-browser support Aimed for client-side scripting Released in 2006 Most popular JS library today FOSS (Free and Open Source Software) Licensed under MIT license and GPLv2 Under active development, industry support www.jquery.com You’ll only need the jquery-1.2.6.min.js file and one line: <script type=&quot;text/javascript&quot; src=&quot;jquery-1.2.6.min.js“></script> to enable all the goodness!
  • 12. jQuery features DOM elements: select, modify Events CSS handling Flashy effects Ajax Plugin framework Some utility functions (browser version) Very easy to use! And still everything should be cross-browser supported!
  • 14. The Focus of jQuery Thanks to John Resig (JavaScript and jQuery, ACM Northeastern University) jQuery object $ (also valid: jQuery(”div”)… )
  • 15. Examples $(”div”) Selects all divs $(”.myClass”) Selects all items with myClass class $(”#myId”) Selects all items with myId id (should be just one!) $(”div.myClass”) Selects all divs with myClass class $(”div.myClass”).append(”<p>Text text text</p>”); Appends paragrahps to selected divs $(”#myId”).css({font-weight: ”bold”});
  • 16. Test page <!DOCTYPE html> <head> <title>jQuery test</title> </head> <body> <script src=&quot;jquery-1.6.2.min.js&quot;></script> <script> $(document).ready(function(){ $(&quot;.changeMe&quot;).append(&quot;<p>Testing append</p>&quot;); }); </script> <div class=&quot;changeMe&quot;>Text1</div> <div class=&quot;dontChangeMe&quot;>Text2<div> </body> </html> See more at: http://ejohn.org/files/javascript.pdf
  • 18. Examples $(document).ready(function(){ $(&quot;a&quot;). click (function(event){ alert(“You clicked a link, but I won’t let you away&quot;); event.preventDefault(); }); }); $(document).ready(function(){ $(&quot;div&quot;). hover (function () { $(this).append($(&quot;<span> Selected!</span>&quot;)); }, function () { $(this).find(&quot;span:last&quot;).remove(); }); });
  • 19. $.ajax example $.ajax({ url: 'ajax/endpoint', success: function(data) { $('#resultDiv').html(data); alert('DONE!'); } });
  • 21. Animation examples $(document).ready(function(){ $(&quot;a&quot;).click(function(event){ event.preventDefault(); $(this). hide(&quot;slow&quot;); }); }); $(document).ready(function(){ $('div').click(function() { $('#dilbert'). slideToggle ('slow', function() {}); }); });
  • 23. jQuery UI http://jqueryui.com/ Built on top of the jQuery library Includes Widgets Effects Animations All including theme support , cross browser support, styling, internationalization etc.
  • 24. Using e.g. accordion widget <link rel=&quot;stylesheet&quot; href=&quot;themes/base/jquery.ui.all.css&quot;> <script src=&quot;jquery-1.6.2.min.js&quot;></script> <script src=&quot;ui/jquery.ui.core.js&quot;></script> <script src=&quot;ui/jquery.ui.widget.js&quot;></script> <script src=&quot;ui/jquery.ui.accordion.js&quot;></script> ... $(function() { $( &quot;#accordion&quot; ).accordion({ autoHeight: false, navigation: true }); });
  • 26. Web resources http://jquery.com/ http://jqueryui.com/ http://www.w3schools.com/js/default.asp http://www.learningjquery.com/ http://woorkup.com/2011/05/12/jquery-visual-cheat-sheet-1-6/ http://net.tutsplus.com/tutorials/javascript-ajax/simple-draggable-element-persistence-with-jquery/ https://developer.mozilla.org/en/JavaScript
  • 27. Further reading jQuery in Action by Bear Bibeault and Yehida Kayz (Manning) Learning jQuery 1.3 by Jonathan Chaffer and Karl Swedberg (Packt) jQuery Cookbook by Cody Lindley (O’Reilly) jQuery: Novice to Ninja by Earle Castledine and Craig Sharkie (SitePoint) JavaScript, A Beginner’s Guide by John Pollock (McGraw-Hill) JavaScript: The Definitive Guide by David Flanagan (O’Reilly)
  • 28. www.lindorff.fi Thank you! Tomi Juhola Development Lead mobile: +358 44 033 8639 [email_address] www.lindorff.fi Joukahaisenkatu 2 FI-20100 Turku