J query

30
How I Learned To Stop Worrying and Love jQuery David Giard, Sogeti USA C# MVP MCTS, MCSD, MCSE, MCDBA DavidGiard.com

description

How I Learned to stop worrying and love jQuery

Transcript of J query

Page 1: J query

How I LearnedTo Stop Worryingand Love jQuery

David Giard, Sogeti USAC# MVPMCTS, MCSD, MCSE, MCDBA

DavidGiard.com

Page 2: J query

JavaScript

• Dynamic language• Client-side (usually)• Interact with DOM

Page 3: J query

JavaScript in your page

• <script type="text/javascript"> … </script>

• <script type="text/javascript“ src=“xxx.js"> </script>

Page 4: J query

JavaScript: The Good Parts

• Interactive web pages• Fast• Ajax

Page 5: J query

JavaScript: The Bad Parts

• Cross-browser issues• Cross-platform issues

Page 6: J query

JavaScript Frameworks

• jQuery• Prototype• Dojo• Mootools• ExtJs• etc…

jQuery

Page 7: J query

jQuery

• JavaScript Abstraction• Cross-Browser• Built-In Functions• Fast• Unobtrusive• Popular• Ships with Visual Studio 2010

Page 8: J query

jQuery Popularity

Source: http://royal.pingdom.com

Page 9: J query

jQuery Popularity

Source: http://royal.pingdom.com

Page 10: J query

jQuery Popularity• Twitter.com• Wikipedia.org• MLB.com• Amazon.com• Bing.com• Microsoft.com• Bit.ly• ESPN.com• Digg.com• Reddit.com• Netflix.com• WordPress.com

Page 11: J query

Unobtrusive JavaScript• Obtrusive

<a href=“” onclick=“DoSomething();”> Click Me</a>

• Unobtrusive<script type="text/javascript"> $(document).ready(function(){ $(“#MyLink”).click(function(){

DoSomething(); }); </script>

<a href=“” id=“Link1”> Click Me </a>

Page 12: J query

Enable jQuery

• Download from jQuery.com• <script

type="text/javascript" src="jquery-1.6.1.min.js"></script>

Page 13: J query

Content Delivery Network• <script

type="text/javascript" src=“http://ajax.microsoft.com/ajax/jquery/jquery-1.6.1.min.js"></script>

• <script type="text/javascript" src=“http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>

• <script type="text/javascript" src=“http://code.jquery.com/jquery-1.6.1.min.js "></script>

Page 14: J query

Cross-Browser• Javascriptvar elm = null; if (document.getElementById) { elm = document.getElementById(id); } else if (document.all) { elm = document.all[id]; } else if (document.layers) { elm = document.layers[id]; }

• jQueryvar elm = $(“#id”);

Page 15: J query

jQuery Syntax

• jQuery keyword• Selectors• Events• Functions / Methods

Page 16: J query

“jQuery” Keyword

• jQuery• $• Represents the jQuery object• Indicates what follows is jQuery

Page 17: J query

Selectors

• Returns a set of objects• Call method on each object• Bind event to each object

Page 18: J query

CSS Selectorsh2 {

font-family: "Calibri";font-size: 66pt;font-weight: bold;

}.FootNote {

font-family: "Calibri";font-size: 18pt;font-weight: bold;

}#MyElement {

font-family: “Times New Roman";font-color: red;

}Div#MyDiv {

font-family: “Arial";font-size: 48pt;

}

Tag name

Class name

Element ID

Combine selectors

Page 19: J query

jQuery Selectors

• $(selector)• where selector is:

Selector Select by… ‘#xxx’ id‘.xxx’ className‘xxx’ element typexxx variable name

Example$(‘a’)$(‘#MyDiv’)$(‘.MyClass’)$(document)

Page 20: J query

(document).ready

$(document).ready(function(){…

});

Page 21: J query

Events

$(document).ready(function(){ $(“#MyDiv”).click(function(){ … });});

Page 22: J query

Methods

$(document).ready(function(){ $(“#MyDiv”).click(function(){ $(“a”).attr(“target”, “_blank”); });});

Page 23: J query

Combining Selectors

• Containership$(‘selector1’ ‘selector2’)Ex:

$(‘div a’)• Narrow scope

$(‘Selector1Selector2’)Ex:

$(‘a#MyLink’)• Filter

$(selector1).filter(selector2)Ex:

$(‘#MyDiv’).filter(‘#MyLink’)

Page 24: J query

Set-based Selectors

• $(‘div:first')• $(‘div:last')• $(‘div:even')• $(‘div:odd')

Page 25: J query

Ajax

• Call web service from jQuery

Page 26: J query

Plug-Ins

• jQuery is extensible!• jQueryUI

Page 27: J query

jQuery UI

Page 28: J query

Help!

• docs.jquery.com• api.jquery.com• jqueryui.com/demos

Page 29: J query

David Giard

• DavidGiard.com• TechnologyAndFriends.com• [email protected]

Page 30: J query

Telerik

• Telerik.com