Top Banner
1 | Page KnackHook Knowledge Holder [email protected] www.knackhook.com JQUERY
84

JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder [email protected] JQUERY

Oct 06, 2020

Download

Documents

dariahiddleston
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: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

1 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

JQUERY

Page 2: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

2 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

Contents

1. What is jQuery? ................................................................................................... 6

2. Adding jQuery to Your Web Pages: ...................................................................... 7

3. Downloading jQuery: ........................................................................................... 8

4. jQuery CDN: ........................................................................................................ 8

5. Google CDN: ........................................................................................................ 8

6. Microsoft CDN: .................................................................................................... 9

7. jQuery Syntax: ..................................................................................................... 9

8. The Document Ready Event: .............................................................................. 10

9. jQuery Selectors: ............................................................................................... 10

10. The element Selector: ........................................................................................ 11

11. The #id Selector: ................................................................................................ 11

12. The .class Selector: ............................................................................................ 12

13. More Examples of jQuery Selectors: .................................................................. 13

14. jQuery Event Methods ....................................................................................... 14

15. What are Events? .............................................................................................. 14

16. jQuery Syntax For Event Methods: .................................................................... 15

17. $(document).ready() ......................................................................................... 15

18. click() ................................................................................................................ 15

19. dblclick() ............................................................................................................ 16

20. mouseenter(): ................................................................................................... 16

Page 3: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

3 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

21. mousedown() .................................................................................................... 17

22. hover() .............................................................................................................. 17

23. focus() ............................................................................................................... 18

24. blur() ................................................................................................................. 19

25. The on() Method: .............................................................................................. 19

26. jQuery Effects .................................................................................................... 20

27. jQuery hide() and show() ................................................................................... 20

28. jQuery toggle() .................................................................................................. 22

29. jQuery Fading Methods: .................................................................................... 23

30. jQuery fadeIn() Method ..................................................................................... 23

31. jQuery fadeOut() Method: ................................................................................. 24

32. jQuery fadeToggle() Method ............................................................................. 25

33. jQuery fadeTo() Method .................................................................................... 26

34. jQuery Effects – Sliding: ..................................................................................... 27

35. jQuery Sliding Methods ..................................................................................... 27

36. jQuery slideDown() Method .............................................................................. 27

37. jQuery slideUp() Method ................................................................................... 28

38. jQuery slideToggle() Method ............................................................................. 29

39. jQuery Effects – Animation: ............................................................................... 30

40. jQuery Animations - The animate() Method ....................................................... 30

41. jQuery animate() - Manipulate Multiple Properties ........................................... 31

42. jQuery animate() - Using Relative Values ........................................................... 32

43. jQuery animate() - Uses Queue Functionality ..................................................... 33

44. jQuery Stop Animations: ................................................................................... 34

45. jQuery stop() Method ........................................................................................ 34

46. jQuery Callback Functions: ................................................................................ 35

Page 4: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

4 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

47. jQuery Method Chaining: .................................................................................. 37

48. JQuery HTML: .................................................................................................... 38

49. jQuery - Get Content and Attributes .................................................................. 38

50. jQuery DOM Manipulation ................................................................................ 38

51. Get Content - text(), html(), and val() ................................................................. 38

52. Query - Set Content and Attributes .................................................................... 40

53. Set Content - text(), html(), and val() ................................................................. 40

54. A Callback Function for text(), html(), and val() .................................................. 41

55. Set Attributes - attr() ......................................................................................... 42

56. A Callback Function for attr() ............................................................................. 43

57. jQuery - Add Elements ....................................................................................... 44

58. Add New HTML Content .................................................................................... 44

59. jQuery append() Method ................................................................................... 44

60. jQuery prepend() Method ................................................................................. 45

61. Add Several New Elements With append() and prepend() .......................................................................................................... 46

62. jQuery after() and before() Methods ................................................................. 46

63. Add Several New Elements With after() and before() ............................................................................................................. 47

64. jQuery - Remove Elements ................................................................................ 48

65. Remove Elements/Content ................................................................................ 48

66. jQuery remove() Method ................................................................................... 48

67. jQuery empty() Method ..................................................................................... 49

68. Filter the Elements to be Removed .................................................................... 49

69. jQuery - Get and Set CSS Classes ........................................................................ 51

70. jQuery Manipulating CSS ................................................................................... 51

71. jQuery addClass() Method ................................................................................. 51

Page 5: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

5 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

72. jQuery removeClass() Method ........................................................................... 53

73. jQuery toggleClass() Method ............................................................................. 54

74. jQuery css() Method .......................................................................................... 54

75. Return a CSS Property ....................................................................................... 54

76. Set a CSS Property ............................................................................................. 55

77. Set Multiple CSS Properties ............................................................................... 56

78. jQuery - Dimensions .......................................................................................... 56

79. jQuery Dimension Methods ............................................................................... 57

80. jQuery Dimensions ............................................................................................ 57

81. jQuery width() and height() Methods ................................................................ 57

82. jQuery outerWidth() and outerHeight() Methods .............................................. 59

83. jQuery More width() and height() ...................................................................... 61

84. jQuery Traversing .............................................................................................. 63

85. What is Traversing? ........................................................................................... 63

86. Illustration explained: ....................................................................................... 63

87. Traversing the DOM .......................................................................................... 63

88. jQuery Traversing - Ancestors ............................................................................ 64

89. Traversing Up the DOM Tree ............................................................................. 64

90. jQuery parent() Method .................................................................................... 64

91. jQuery parents() Method ................................................................................... 65

92. jQuery parentsUntil() Method ........................................................................... 67

93. jQuery Traversing - Descendants ....................................................................... 68

94. Traversing Down the DOM Tree ......................................................................... 68

95. jQuery children() Method .................................................................................. 68

96. jQuery find() Method ........................................................................................ 70

97. jQuery Traversing - Siblings ............................................................................... 72

Page 6: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

6 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

98. Traversing Sideways in The DOM Tree ............................................................... 72

99. jQuery siblings() Method ................................................................................... 72

100. jQuery next() Method ........................................................................................ 74

101. jQuery nextAll() Method .................................................................................... 74

102. jQuery nextUntil() Method ................................................................................ 75

103. Query prev(), prevAll() & prevUntil() Methods ................................................... 76

104. jQuery Traversing - Filtering .............................................................................. 76

105. Narrow Down The Search For Elements ............................................................. 76

106. jQuery first() Method ........................................................................................ 76

107. jQuery eq() method ........................................................................................... 78

108. jQuery filter() Method ....................................................................................... 78

109. jQuery not() Method ......................................................................................... 79

110. jQuery - AJAX .................................................................................................... 80

111. jQuery - AJAX Introduction ................................................................................ 80

112. What is AJAX? ................................................................................................... 80

113. What About jQuery and AJAX? .......................................................................... 80

114. jQuery - AJAX load() Method ............................................................................. 80

115. jQuery - AJAX get() and post() Methods ............................................................. 81

116. HTTP Request: GET vs. POST .............................................................................. 81

117. jQuery $.get() Method ....................................................................................... 82

118. jQuery $.post() Method ..................................................................................... 83

What is jQuery?

jQuery is a lightweight, "write less, do more", JavaScript library.

Page 7: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

7 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

The purpose of jQuery is to make it much easier to use JavaScript on your website.

jQuery takes a lot of common tasks that require many lines of JavaScript code to accomplish, and wraps

them into methods that you can call with a single line of code.

jQuery also simplifies a lot of the complicated things from JavaScript, like AJAX calls and DOM

manipulation.

The jQuery library contains the following features:

HTML/DOM manipulation

CSS manipulation

HTML event methods

Effects and animations

AJAX

Utilities

Why jQuery?

There are lots of other JavaScript frameworks out there, but jQuery seems to be the most popular, and

also the most extendable.

Many of the biggest companies on the Web use jQuery, such as:

Google

Microsoft

IBM

Netflix

Adding jQuery to Your Web Pages:

There are several ways to start using jQuery on your web site. You can:

Download the jQuery library from jQuery.com

Include jQuery from a CDN, like Google

Page 8: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

8 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

Downloading jQuery:

There are two versions of jQuery available for downloading:

Production version - this is for your live website because it has been minified and compressed

Development version - this is for testing and development (uncompressed and readable code)

The jQuery library is a single JavaScript file, and you reference it with the HTML <script> tag (notice that

the <script> tag should be inside the <head> section):

<head> <script src="jquery-1.11.3.min.js"></script> </head>

jQuery CDN:

If you don't want to download and host jQuery yourself, you can include it from a CDN (Content Delivery

Network).

Both Google and Microsoft host jQuery.

To use jQuery from Google or Microsoft, use one of the following:

Google CDN: <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("p").hide(); }); }); </script> </head> <body> <h2>This is a heading</h2> <p>This is a paragraph.</p> <p>This is another paragraph.</p> <button>Click me</button> </body>

Page 9: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

9 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

</html>

Microsoft CDN: <!DOCTYPE html> <html> <head> <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.3.min.js"> </script> <script> $(document).ready(function () { $("button").click(function () { $("p").hide(); }); }); </script> </head> <body> <h2>This is a heading</h2> <p>This is a paragraph.</p> <p>This is another paragraph.</p> <button>Click me</button> </body> </html>

jQuery Syntax:

The jQuery syntax is tailor made for selecting HTML elements and performing some action on the

element(s).

Basic syntax is: $(selector).action()

A $ sign to define/access jQuery

A (selector) to "query (or find)" HTML elements

A jQuery action() to be performed on the element(s)

Examples

$(this).hide() - hides the current element.

$("p").hide() - hides all <p> elements.

$(".test").hide() - hides all elements with class="test".

Page 10: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

10 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

$("#test").hide() - hides the element with id="test".

The Document Ready Event:

You might have noticed that all jQuery methods in our examples, are inside a document ready event:

$(document).ready(function(){ // jQuery methods go here... });

This is to prevent any jQuery code from running before the document is finished loading (is ready).

It is good practice to wait for the document to be fully loaded and ready before working with it. This also

allows you to have your JavaScript code before the body of your document, in the head section.

Here are some examples of actions that can fail if methods are run before the document is fully loaded:

Trying to hide an element that is not created yet

Trying to get the size of an image that is not loaded yet.

jQuery Selectors:

jQuery selectors allow you to select and manipulate HTML element(s).

jQuery selectors are used to "find" (or select) HTML elements based on their id, classes, types,

attributes, values of attributes and much more. It's based on the existing CSS Selectors, and in addition,

it has some own custom selectors.

All selectors in jQuery start with the dollar sign and parentheses: $().

Page 11: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

11 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

The element Selector:

The jQuery element selector selects elements based on the element name.

You can select all <p> elements on a page like this:

$("p")

Example:

When a user clicks on a button, all <p> elements will be hidden

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("p").hide(); }); }); </script> </head> <body> <h2>This is a heading</h2> <p>This is a paragraph.</p> <p>This is another paragraph.</p> <button>Click me</button> </body> </html>

The #id Selector:

The jQuery #id selector uses the id attribute of an HTML tag to find the specific element.

An id should be unique within a page, so you should use the #id selector when you want to find a single,

unique element.

To find an element with a specific id, write a hash character, followed by the id of the HTML element:

Page 12: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

12 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

$("#test")

Example:

When a user clicks on a button, the element with id="test" will be hidden:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("#test").hide(); }); }); </script> </head> <body> <h2>This is a heading</h2> <p>This is a paragraph.</p> <p id="test">This is another paragraph.</p> <button>Click me</button> </body> </html>

The .class Selector:

The jQuery class selector finds elements with a specific class.

To find elements with a specific class, write a period character, followed by the name of the class:

$(".test")

Example:

When a user clicks on a button, the elements with class="test" will be hidden:

<!DOCTYPE html>

Page 13: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

13 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $(".test").hide(); }); }); </script> </head> <body> <h2 class="test">This is a heading</h2> <p class="test">This is a paragraph.</p> <p>This is another paragraph.</p> <button>Click me</button> </body>

</html>

More Examples of jQuery Selectors: $("*") Selects all elements

$(this) Selects the current HTML element

$("p.intro") Selects all <p> elements with class="intro"

$("p:first") Selects the first <p> element

$("ul li:first") Selects the first <li> element of the first <ul>

$("ul li:first-child") Selects the first <li> element of every <ul>

$("[href]") Selects all elements with an href attribute

$("a[target='_blank']") Selects all <a> elements with a target attribute value equal to "_blank"

$("a[target!='_blank']") Selects all <a> elements with a target attribute value NOT equal to "_blank"

$(":button") Selects all <button> elements and <input> elements of type="button"

$("tr:even") Selects all even <tr> elements

$("tr:odd") Selects all odd <tr> elements

Use our jQuery Selector Tester to demonstrate the different selectors.

Example:

<head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"> </script>

Page 14: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

14 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<script src="my_jquery_functions.js"></script>

</head>

jQuery Event Methods

What are Events?

All the different visitor's actions that a web page can respond to are called events.

An event represents the precise moment when something happens.

Examples

moving a mouse over an element

selecting a radio button

clicking on an element

The term "fires/fired" is often used with events. Example: "The keypress event is fired, the moment you

press a key".

Mouse Events Keyboard Events Form Events Document/Window Events

click keypress submit load

dblclick keydown change resize

mouseenter keyup focus scroll

mouseleave blur unload

Page 15: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

15 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

jQuery Syntax For Event Methods:

In jQuery, most DOM events have an equivalent jQuery method.

To assign a click event to all paragraphs on a page, you can do this:

$("p").click();

The next step is to define what should happen when the event fires. You must pass a function to the

event:

$("p").click(function(){ // action goes here!! });

Commonly Used jQuery Event Methods:

$(document).ready()

The $(document).ready() method allows us to execute a function when the document is fully loaded.

click()

The click() method attaches an event handler function to an HTML element.

The function is executed when the user clicks on the HTML element.

The following example says: When a click event fires on a <p> element; hide the current <p> element:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("p").click(function () { $(this).hide(); }); });

Page 16: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

16 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

</script> </head> <body> <p>If you click on me, I will disappear.</p> <p>Click me away!</p> <p>Click me too!</p> </body> </html>

dblclick()

The dblclick() method attaches an event handler function to an HTML element.

The function is executed when the user double-clicks on the HTML element:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("p").dblclick(function () { $(this).hide(); }); }); </script> </head> <body> <p>If you double-click on me, I will disappear.</p> <p>Click me away!</p> <p>Click me too!</p> </body>

</html>

mouseenter(): <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () {

Page 17: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

17 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

$("#p1").mouseenter(function () { alert("You entered p1!"); }); }); </script> </head> <body> <p id="p1">Enter this paragraph.</p> </body> </html>

mousedown()

The mousedown() method attaches an event handler function to an HTML element.

The function is executed, when the left, middle or right mouse button is pressed down, while the mouse

is over the HTML element:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("#p1").mousedown(function () { alert("Mouse down over p1!"); }); }); </script> </head> <body> <p id="p1">This is a paragraph.</p> </body> </html>

hover()

The hover() method takes two functions and is a combination of the mouseenter() and mouseleave()

methods.

Page 18: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

18 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

The first function is executed when the mouse enters the HTML element, and the second function is

executed when the mouse leaves the HTML element:

Example

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("#p1").hover(function () { alert("You entered p1!"); }, function () { alert("Bye! You now leave p1!"); }); }); </script> </head> <body> <p id="p1">This is a paragraph.</p> </body> </html>

focus()

The focus() method attaches an event handler function to an HTML form field.

The function is executed when the form field gets focus:

Example

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("input").focus(function () { $(this).css("background-color", "#cccccc"); }); $("input").blur(function () { $(this).css("background-color", "#ffffff"); }); }); </script>

Page 19: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

19 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

</head> <body> Name: <input type="text" name="fullname"><br> Email: <input type="text" name="email"> </body> </html>

blur()

The blur() method attaches an event handler function to an HTML form field.

The function is executed when the form field loses focus.

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("input").focus(function () { $(this).css("background-color", "#cccccc"); }); $("input").blur(function () { $(this).css("background-color", "#ffffff"); }); }); </script> </head> <body> Name: <input type="text" name="fullname"><br> Email: <input type="text" name="email"> </body> </html>

The on() Method:

The on() method attaches one or more event handlers for the selected elements.

Attach a click event to a <p> element:

Example:

<!DOCTYPE html> <html> <head>

Page 20: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

20 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("p").on("click", function () { $(this).hide(); }); }); </script> </head> <body> <p>If you click on me, I will disappear.</p> <p>Click me away!</p> <p>Click me too!</p> </body> </html>

Attach multiple event handlers to a <p> element:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("p").on({ mouseenter: function () { $(this).css("background-color", "lightgray"); }, mouseleave: function () { $(this).css("background-color", "lightblue"); }, click: function () { $(this).css("background-color", "yellow"); } }); }); </script> </head> <body> <p>Click or move the mouse pointer over this paragraph.</p> </body> </html>

jQuery Effects

jQuery hide() and show()

With jQuery, you can hide and show HTML elements with the hide() and show() methods:

Page 21: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

21 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("#hide").click(function () { $("p").hide(); }); $("#show").click(function () { $("p").show(); }); }); </script> </head> <body> <p>If you click on the "Hide" button, I will disappear.</p> <button id="hide">Hide</button> <button id="show">Show</button> </body> </html>

Syntax:

$(selector).hide(speed,callback); $(selector).show(speed,callback);

The optional speed parameter specifies the speed of the hiding/showing, and can take the following

values: "slow", "fast", or milliseconds.

The optional callback parameter is a function to be executed after the hide() or show() method

completes .

The following example demonstrates the speed parameter with hide():

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () {

Page 22: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

22 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

$("button").click(function () { $("p").hide(1000); }); }); </script> </head> <body> <button>Hide</button> <p>This is a paragraph with little content.</p> <p>This is another small paragraph.</p> </body> </html>

jQuery toggle()

With jQuery, you can toggle between the hide() and show() methods with the toggle() method.

Shown elements are hidden and hidden elements are shown:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("p").toggle(); }); }); </script> </head> <body> <button>Toggle</button> <p>This is a paragraph with little content.</p> <p>This is another small paragraph.</p> </body> </html>

Syntax:

$(selector).toggle(speed,callback);

The optional speed parameter can take the following values: "slow", "fast", or milliseconds.

The optional callback parameter is a function to be executed after toggle() completes.

Page 23: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

23 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

jQuery Fading Methods:

With jQuery you can fade an element in and out of visibility.

jQuery has the following fade methods:

fadeIn()

fadeOut()

fadeToggle()

fadeTo()

jQuery fadeIn() Method

The jQuery fadeIn() method is used to fade in a hidden element.

Syntax:

$(selector).fadeIn(speed,callback);

The optional speed parameter specifies the duration of the effect. It can take the following values:

"slow", "fast", or milliseconds.

The optional callback parameter is a function to be executed after the fading completes.

The following example demonstrates the fadeIn() method with different parameters:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("#div1").fadeIn(); $("#div2").fadeIn("slow"); $("#div3").fadeIn(3000); }); }); </script> </head>

Page 24: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

24 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<body> <p>Demonstrate fadeIn() with different parameters.</p> <button>Click to fade in boxes</button><br><br> <div id="div1" style="width:80px;height:80px;display:none;background-color:red;"></div><br> <div id="div2" style="width:80px;height:80px;display:none;background-color:green;"></div><br> <div id="div3" style="width:80px;height:80px;display:none;background-color:blue;"></div> </body> </html>

jQuery fadeOut() Method:

The jQuery fadeOut() method is used to fade out a visible element.

Syntax:

$(selector).fadeOut(speed,callback);

The optional speed parameter specifies the duration of the effect. It can take the following values:

"slow", "fast", or milliseconds.

The optional callback parameter is a function to be executed after the fading completes.

The following example demonstrates the fadeOut() method with different parameters:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("#div1").fadeOut(); $("#div2").fadeOut("slow"); $("#div3").fadeOut(3000); }); }); </script> </head> <body> <p>Demonstrate fadeOut() with different parameters.</p> <button>Click to fade out boxes</button><br><br>

Page 25: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

25 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<div id="div1" style="width:80px;height:80px;background-color:red;"></div><br> <div id="div2" style="width:80px;height:80px;background-color:green;"></div><br> <div id="div3" style="width:80px;height:80px;background-color:blue;"></div> </body> </html>

jQuery fadeToggle() Method

The jQuery fadeToggle() method toggles between the fadeIn() and fadeOut() methods.

If the elements are faded out, fadeToggle() will fade them in.

If the elements are faded in, fadeToggle() will fade them out.

Syntax:

$(selector).fadeToggle(speed,callback);

The optional speed parameter specifies the duration of the effect. It can take the following values:

"slow", "fast", or milliseconds.

The optional callback parameter is a function to be executed after the fading completes.

The following example demonstrates the fadeToggle() method with different parameters:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("#div1").fadeToggle(); $("#div2").fadeToggle("slow"); $("#div3").fadeToggle(3000); }); }); </script> </head> <body> <p>Demonstrate fadeToggle() with different speed parameters.</p> <button>Click to fade in/out boxes</button><br><br> <div id="div1" style="width:80px;height:80px;background-color:red;"></div>

Page 26: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

26 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<br> <div id="div2" style="width:80px;height:80px;background-color:green;"></div> <br> <div id="div3" style="width:80px;height:80px;background-color:blue;"></div> </body> </html>

jQuery fadeTo() Method

The jQuery fadeTo() method allows fading to a given opacity (value between 0 and 1).

Syntax:

$(selector).fadeTo(speed,opacity,callback);

The required speed parameter specifies the duration of the effect. It can take the following values:

"slow", "fast", or milliseconds.

The required opacity parameter in the fadeTo() method specifies fading to a given opacity (value

between 0 and 1).

The optional callback parameter is a function to be executed after the function completes.

The following example demonstrates the fadeTo() method with different parameters:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("#div1").fadeTo("slow", 0.15); $("#div2").fadeTo("slow", 0.4); $("#div3").fadeTo("slow", 0.7); }); }); </script> </head> <body> <p>Demonstrate fadeTo() with different parameters.</p> <button>Click to fade boxes</button><br><br> <div id="div1" style="width:80px;height:80px;background-color:red;"></div><br>

Page 27: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

27 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<div id="div2" style="width:80px;height:80px;background-color:green;"></div><br> <div id="div3" style="width:80px;height:80px;background-color:blue;"></div> </body> </html>

jQuery Effects – Sliding:

jQuery Sliding Methods

With jQuery you can create a sliding effect on elements.

jQuery has the following slide methods:

slideDown()

slideUp()

slideToggle()

jQuery slideDown() Method

The jQuery slideDown() method is used to slide down an element.

Syntax:

$(selector).slideDown(speed,callback);

The optional speed parameter specifies the duration of the effect. It can take the following values:

"slow", "fast", or milliseconds.

The optional callback parameter is a function to be executed after the sliding completes.

The following example demonstrates the slideDown() method:

Example:

<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () {

Page 28: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

28 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

$("#flip").click(function () { $("#panel").slideDown("slow"); }); }); </script> <style> #panel, #flip { padding: 5px; text-align: center; background-color: #e5eecc; border: solid 1px #c3c3c3; } #panel { padding: 50px; display: none; } </style> </head> <body> <div id="flip">Click to slide down panel</div> <div id="panel">Hello world!</div> </body> </html>

jQuery slideUp() Method

The jQuery slideUp() method is used to slide up an element.

Syntax:

$(selector).slideUp(speed,callback);

The optional speed parameter specifies the duration of the effect. It can take the following values:

"slow", "fast", or milliseconds.

The optional callback parameter is a function to be executed after the sliding completes.

The following example demonstrates the slideUp() method:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

Page 29: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

29 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<script> $(document).ready(function () { $("#flip").click(function () { $("#panel").slideUp("slow"); }); }); </script> <style> #panel, #flip { padding: 5px; text-align: center; background-color: #e5eecc; border: solid 1px #c3c3c3; } #panel { padding: 50px; } </style> </head> <body> <div id="flip">Click to slide up panel</div> <div id="panel">Hello world!</div> </body> </html>

jQuery slideToggle() Method

The jQuery slideToggle() method toggles between the slideDown() and slideUp() methods.

If the elements have been slid down, slideToggle() will slide them up.

If the elements have been slid up, slideToggle() will slide them down.

$(selector).slideToggle(speed,callback);

The optional speed parameter can take the following values: "slow", "fast", milliseconds.

The optional callback parameter is a function to be executed after the sliding completes.

The following example demonstrates the slideToggle() method:

Example:

<!DOCTYPE html> <html> <head>

Page 30: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

30 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("#flip").click(function () { $("#panel").slideToggle("slow"); }); }); </script> <style> #panel, #flip { padding: 5px; text-align: center; background-color: #e5eecc; border: solid 1px #c3c3c3; } #panel { padding: 50px; display: none; } </style> </head> <body> <div id="flip">Click to slide the panel down or up</div> <div id="panel">Hello world!</div> </body> </html>

jQuery Effects – Animation:

jQuery Animations - The animate() Method

The jQuery animate() method is used to create custom animations.

Syntax:

$(selector).animate({params},speed,callback);

The required params parameter defines the CSS properties to be animated.

Page 31: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

31 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

The optional speed parameter specifies the duration of the effect. It can take the following values:

"slow", "fast", or milliseconds.

The optional callback parameter is a function to be executed after the animation completes.

The following example demonstrates a simple use of the animate() method; it moves a <div> element to

the right, until it has reached a left property of 250px:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("div").animate({ left: '250px' }); }); }); </script> </head> <body> <button>Start Animation</button> <p>By default, all HTML elements have a static position, and cannot be moved. To manipulate the position, remember to first set the CSS position property of the element to relative, fixed, or absolute!</p> <div style="background:#98bf21;height:100px;width:100px;position:absolute;"></div> </body> </html>

jQuery animate() - Manipulate Multiple Properties

Notice that multiple properties can be animated at the same time:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("div").animate({ left: '250px',

Page 32: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

32 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

opacity: '0.5', height: '150px', width: '150px' }); }); }); </script> </head> <body> <button>Start Animation</button> <p>By default, all HTML elements have a static position, and cannot be moved. To manipulate the position, remember to first set the CSS position property of the element to relative, fixed, or absolute!</p> <div style="background:#98bf21;height:100px;width:100px;position:absolute;"></div> </body> </html>

jQuery animate() - Using Relative Values

It is also possible to define relative values (the value is then relative to the element's current value). This

is done by putting += or -= in front of the value:

Example:

!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("div").animate({ left: '250px', height: '+=150px', width: '+=150px' }); }); }); </script> </head> <body> <button>Start Animation</button> <p>By default, all HTML elements have a static position, and cannot be moved. To manipulate the position, remember to first set the CSS position property of the element to relative, fixed, or absolute!</p> <div style="background:#98bf21;height:100px;width:100px;position:absolute;"></div> </body> </html>

Page 33: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

33 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

jQuery animate() - Uses Queue Functionality

By default, jQuery comes with queue functionality for animations.

This means that if you write multiple animate() calls after each other, jQuery creates an "internal" queue

with these method calls. Then it runs the animate calls ONE by ONE.

So, if you want to perform different animations after each other, we take advantage of the queue

functionality:

Example 1:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { var div = $("div"); div.animate({ height: '300px', opacity: '0.4' }, "slow"); div.animate({ width: '300px', opacity: '0.8' }, "slow"); div.animate({ height: '100px', opacity: '0.4' }, "slow"); div.animate({ width: '100px', opacity: '0.8' }, "slow"); }); }); </script> </head> <body> <button>Start Animation</button> <p>By default, all HTML elements have a static position, and cannot be moved. To manipulate the position, remember to first set the CSS position property of the element to relative, fixed, or absolute!</p> <div style="background:#98bf21;height:100px;width:100px;position:absolute;"></div> </body> </html>

The example below first moves the <div> element to the right, and then increases the font size of the

text:

Example 2:

<!DOCTYPE html> <html> <head>

Page 34: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

34 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { var div = $("div"); div.animate({ left: '100px' }, "slow"); div.animate({ fontSize: '3em' }, "slow"); }); }); </script> </head> <body> <button>Start Animation</button> <p>By default, all HTML elements have a static position, and cannot be moved. To manipulate the position, remember to first set the CSS position property of the element to relative, fixed, or absolute!</p> <div style="background:#98bf21;height:100px;width:200px;position:absolute;">HELLO</div> </body> </html>

jQuery Stop Animations:

jQuery stop() Method

The jQuery stop() method is used to stop an animation or effect before it is finished.

The stop() method works for all jQuery effect functions, including sliding, fading and custom animations.

Syntax:

$(selector).stop(stopAll,goToEnd);

The optional stopAll parameter specifies whether also the animation queue should be cleared or not.

Default is false, which means that only the active animation will be stopped, allowing any queued

animations to be performed afterwards.

The optional goToEnd parameter specifies whether or not to complete the current animation

immediately. Default is false.

Page 35: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

35 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

So, by default, the stop() method kills the current animation being performed on the selected element.

The following example demonstrates the stop() method, with no parameters:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("#flip").click(function () { $("#panel").slideDown(5000); }); $("#stop").click(function () { $("#panel").stop(); }); }); </script> <style> #panel, #flip { padding: 5px; font-size: 18px; text-align: center; background-color: #555; color: white; border: solid 1px #666; border-radius: 3px; } #panel { padding: 50px; display: none; } </style> </head> <body> <button id="stop">Stop sliding</button> <div id="flip">Click to slide down panel</div> <div id="panel">Hello world!</div> </body> </html>

jQuery Callback Functions:

JavaScript statements are executed line by line. However, with effects, the next line of code can be run

even though the effect is not finished. This can create errors.

Page 36: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

36 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

To prevent this, you can create a callback function.

A callback function is executed after the current effect is finished.

Typical syntax: $(selector).hide(speed,callback);

Example with Callback:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("p").hide("slow", function () { alert("The paragraph is now hidden"); }); }); }); </script> </head> <body> <button>Hide</button> <p>This is a paragraph with little content.</p> </body> </html> <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("p").hide("slow", function () { alert("The paragraph is now hidden"); }); }); }); </script> </head> <body> <button>Hide</button> <p>This is a paragraph with little content.</p> </body> </html>

Page 37: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

37 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

The example below has no callback parameter, and the alert box will be displayed before the hide effect

is completed:

Example without Callback:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("p").hide(1000); alert("The paragraph is now hidden"); }); }); </script> </head> <body> <button>Hide</button> <p>This is a paragraph with little content.</p> </body> </html>

jQuery Method Chaining:

Until now we have been writing jQuery statements one at a time (one after the other).

However, there is a technique called chaining, that allows us to run multiple jQuery commands, one

after the other, on the same element(s).

To chain an action, you simply append the action to the previous action.

The following example chains together the css(), slideUp(), and slideDown() methods. The "p1" element

first changes to red, then it slides up, and then it slides down:

Example:

Page 38: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

38 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("#p1").css("color", "red").slideUp(2000).slideDown(2000); }); }); </script> </head> <body> <p id="p1">jQuery is fun!!</p> <button>Click me</button> </body> </html>

JQuery HTML:

jQuery - Get Content and Attributes

jQuery contains powerful methods for changing and manipulating HTML elements and attributes.

jQuery DOM Manipulation

One very important part of jQuery is the possibility to manipulate the DOM.

jQuery comes with a bunch of DOM related methods that make it easy to access and manipulate

elements and attributes.

Get Content - text(), html(), and val()

Three simple, but useful, jQuery methods for DOM manipulation are:

text() - Sets or returns the text content of selected elements

html() - Sets or returns the content of selected elements (including HTML markup)

val() - Sets or returns the value of form fields

The following example demonstrates how to get content with the jQuery text() and html() methods:

Page 39: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

39 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("#btn1").click(function () { alert("Text: " + $("#test").text()); }); $("#btn2").click(function () { alert("HTML: " + $("#test").html()); }); }); </script> </head> <body> <p id="test">This is some <b>bold</b> text in a paragraph.</p> <button id="btn1">Show Text</button> <button id="btn2">Show HTML</button> </body> </html>

The following example demonstrates how to get the value of an input field with the jQuery val()

method:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { alert("Value: " + $("#test").val()); }); }); </script> </head> <body> <p>Name: <input type="text" id="test" value="Mickey Mouse"></p> <button>Show Value</button> </body> </html>

Get Attributes - attr()

The jQuery attr() method is used to get attribute values.

Page 40: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

40 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

The following example demonstrates how to get the value of the href attribute in a link:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { alert($("#w3s").attr("href")); }); }); </script> </head> <body> <p><a href="http://www.w3schools.com" id="w3s">W3Schools.com</a></p> <button>Show href Value</button> </body> </html>

Query - Set Content and Attributes

Set Content - text(), html(), and val()

We will use the same three methods from the previous page to set content:

text() - Sets or returns the text content of selected elements

html() - Sets or returns the content of selected elements (including HTML markup)

val() - Sets or returns the value of form fields

The following example demonstrates how to set content with the jQuery text(), html(), and val()

methods:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

Page 41: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

41 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<script> $(document).ready(function () { $("#btn1").click(function () { $("#test1").text("Hello world!"); }); $("#btn2").click(function () { $("#test2").html("<b>Hello world!</b>"); }); $("#btn3").click(function () { $("#test3").val("Dolly Duck"); }); }); </script> </head> <body> <p id="test1">This is a paragraph.</p> <p id="test2">This is another paragraph.</p> <p>Input field: <input type="text" id="test3" value="Mickey Mouse"></p> <button id="btn1">Set Text</button> <button id="btn2">Set HTML</button> <button id="btn3">Set Value</button> </body> </html>

A Callback Function for text(), html(), and val()

All of the three jQuery methods above: text(), html(), and val(), also come with a callback function. The

callback function has two parameters: the index of the current element in the list of elements selected

and the original (old) value. You then return the string you wish to use as the new value from the

function.

The following example demonstrates text() and html() with a callback function:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("#btn1").click(function () { $("#test1").text(function (i, origText) { return "Old text: " + origText + " New text: Hello world! (index: " + i + ")"; }); }); $("#btn2").click(function () {

Page 42: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

42 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

$("#test2").html(function (i, origText) { return "Old html: " + origText + " New html: Hello <b>world!</b> (index: " + i + ")"; }); }); }); </script> </head> <body> <p id="test1">This is a <b>bold</b> paragraph.</p> <p id="test2">This is another <b>bold</b> paragraph.</p> <button id="btn1">Show Old/New Text</button> <button id="btn2">Show Old/New HTML</button> </body> </html>

Set Attributes - attr()

The jQuery attr() method is also used to set/change attribute values.

The following example demonstrates how to change (set) the value of the href attribute in a link:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("#w3s").attr("href", "http://www.w3schools.com/jquery"); }); }); </script> </head> <body> <p><a href="http://www.w3schools.com" id="w3s">W3Schools.com</a></p> <button>Change href Value</button> <p>Mouse over the link (or click on it) to see that the value of the href attribute has changed.</p> </body> </html>

The attr() method also allows you to set multiple attributes at the same time.

The following example demonstrates how to set both the href and title attributes at the same time:

Page 43: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

43 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("#w3s").attr({ "href": "http://www.w3schools.com/jquery", "title": "W3Schools jQuery Tutorial" }); }); }); </script> </head> <body> <p><a href="http://www.w3schools.com" title="some title" id="w3s">W3Schools.com</a></p> <button>Change href and title</button> <p>Mouse over the link to see that the href attribute has changed and a title attribute is set.</p> </body> </html>

A Callback Function for attr()

The jQuery method attr(), also come with a callback function. The callback function has two

parameters: the index of the current element in the list of elements selected and the original (old)

attribute value. You then return the string you wish to use as the new attribute value from the

function.

The following example demonstrates attr() with a callback function:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("#w3s").attr("href", function (i, origValue) { return origValue + "/jquery"; });

Page 44: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

44 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

}); }); </script> </head> <body> <p><a href="http://www.w3schools.com" id="w3s">W3Schools.com</a></p> <button>Change href Value</button> <p>Mouse over the link (or click on it) to see that the value of the href attribute has changed.</p> </body> </html>

jQuery - Add Elements

Add New HTML Content

We will look at four jQuery methods that are used to add new content:

append() - Inserts content at the end of the selected elements

prepend() - Inserts content at the beginning of the selected elements

after() - Inserts content after the selected elements

before() - Inserts content before the selected elements

jQuery append() Method

The jQuery append() method inserts content AT THE END of the selected HTML elements.

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("#btn1").click(function () { $("p").append(" <b>Appended text</b>."); }); $("#btn2").click(function () { $("ol").append("<li>Appended item</li>"); }); }); </script> </head> <body>

Page 45: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

45 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<p>This is a paragraph.</p> <p>This is another paragraph.</p> <ol> <li>List item 1</li> <li>List item 2</li> <li>List item 3</li> </ol> <button id="btn1">Append text</button> <button id="btn2">Append list items</button> </body> </html>

jQuery prepend() Method

The jQuery prepend() method inserts content AT THE BEGINNING of the selected HTML elements.

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("#btn1").click(function () { $("p").prepend("<b>Prepended text</b>. "); }); $("#btn2").click(function () { $("ol").prepend("<li>Prepended item</li>"); }); }); </script> </head> <body> <p>This is a paragraph.</p> <p>This is another paragraph.</p> <ol> <li>List item 1</li> <li>List item 2</li> <li>List item 3</li> </ol> <button id="btn1">Prepend text</button> <button id="btn2">Prepend list item</button> </body> </html>

Page 46: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

46 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

Add Several New Elements With append() and prepend()

In both examples above, we have only inserted some text/HTML at the beginning/end of the selected

HTML elements.

However, both the append() and prepend() methods can take an infinite number of new elements as

parameters. The new elements can be generated with text/HTML, with jQuery, or with JavaScript code

and DOM elements.

In the following example, we create several new elements. The elements are created with text/HTML,

jQuery, and JavaScript/DOM. Then we append the new elements to the text with the append() method

(this would have worked for prepend() too) :

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> function appendText() { var txt1 = "<p>Text.</p>"; // Create text with HTML var txt2 = $("<p></p>").text("Text."); // Create text with jQuery var txt3 = document.createElement("p"); txt3.innerHTML = "Text."; // Create text with DOM $("body").append(txt1, txt2, txt3); // Append new elements } </script> </head> <body> <p>This is a paragraph.</p> <button onclick="appendText()">Append text</button> </body> </html>

jQuery after() and before() Methods

The jQuery after() method inserts content AFTER the selected HTML elements.

The jQuery before() method inserts content BEFORE the selected HTML elements.

Example:

Page 47: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

47 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("#btn1").click(function () { $("img").before("<b>Before</b>"); }); $("#btn2").click(function () { $("img").after("<i>After</i>"); }); }); </script> </head> <body> <img src="/images/w3jquery.gif" alt="jQuery" width="100" height="140"><br><br> <button id="btn1">Insert before</button> <button id="btn2">Insert after</button> </body> </html>

Add Several New Elements With after() and before()

Also, both the after() and before() methods can take an infinite number of new elements as parameters.

The new elements can be generated with text/HTML, with jQuery, or with JavaScript code and DOM

elements.

In the following example, we create several new elements. The elements are created with text/HTML,

jQuery, and JavaScript/DOM. Then we insert the new elements to the text with the after() method (this

would have worked for before() too) :

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> function afterText() { var txt1 = "<b>I </b>"; // Create element with HTML var txt2 = $("<i></i>").text("love "); // Create with jQuery var txt3 = document.createElement("b"); // Create with DOM txt3.innerHTML = "jQuery!"; $("img").after(txt1, txt2, txt3); // Insert new elements after img

Page 48: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

48 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

} </script> </head> <body> <img src="/images/w3jquery.gif" alt="jQuery" width="100" height="140"> <p>Click the button to insert text after the image.</p> <button onclick="afterText()">Insert after</button> </body> </html>

jQuery - Remove Elements

Remove Elements/Content

To remove elements and content, there are mainly two jQuery methods:

remove() - Removes the selected element (and its child elements)

empty() - Removes the child elements from the selected element

jQuery remove() Method

The jQuery remove() method removes the selected element(s) and its child elements.

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("#div1").remove(); }); }); </script> </head> <body> <div id="div1" style="height:100px;width:300px;border:1px solid black;background-color:yellow;"> This is some text in the div. <p>This is a paragraph in the div.</p> <p>This is another paragraph in the div.</p> </div> <br> <button>Remove div element</button>

Page 49: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

49 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

</body> </html>

jQuery empty() Method

The jQuery empty() method removes the child elements of the selected element(s).

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("#div1").empty(); }); }); </script> </head> <body> <div id="div1" style="height:100px;width:300px;border:1px solid black;background-color:yellow;"> This is some text in the div. <p>This is a paragraph in the div.</p> <p>This is another paragraph in the div.</p> </div> <br> <button>Empty the div element</button> </body> </html>

Filter the Elements to be Removed

The jQuery remove() method also accepts one parameter, which allows you to filter the elements to be

removed.

The parameter can be any of the jQuery selector syntaxes.

The following example removes all <p> elements with class="test":

Example:

<!DOCTYPE html> <html>

Page 50: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

50 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("p").remove(".test"); }); }); </script> <style> .test { color: red; font-size: 20px; } </style> </head> <body> <p>This is a paragraph.</p> <p class="test">This is another paragraph.</p> <p class="test">This is another paragraph.</p> <button>Remove all p elements with class="test"</button> </body> </html>

This example removes all <p> elements with class="test" and class="demo":

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("p").remove(".test, .demo"); }); }); </script> <style> .test { color: red; font-size: 20px; } .demo { color: green; font-size: 25px; } </style>

Page 51: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

51 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

</head> <body> <p>This is a paragraph.</p> <p class="test">This is p element with class="test".</p> <p class="test">This is p element with class="test".</p> <p class="demo">This is p element with class="demo".</p> <button>Remove all p elements with class="test" and class="demo"</button> </body> </html>

jQuery - Get and Set CSS Classes

jQuery Manipulating CSS

jQuery has several methods for CSS manipulation. We will look at the following methods:

addClass() - Adds one or more classes to the selected elements

removeClass() - Removes one or more classes from the selected elements

toggleClass() - Toggles between adding/removing classes from the selected elements

css() - Sets or returns the style attribute

Example Stylesheet:

The following stylesheet will be used for all the examples on this page:

.important { font-weight: bold; font-size: xx-large; } .blue { color: blue; }

jQuery addClass() Method

The following example shows how to add class attributes to different elements. Of course you can select

multiple elements, when adding classes:

Example:

Page 52: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

52 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("h1, h2, p").addClass("blue"); $("div").addClass("important"); }); }); </script> <style> .important { font-weight: bold; font-size: xx-large; } .blue { color: blue; } </style> </head> <body> <h1>Heading 1</h1> <h2>Heading 2</h2> <p>This is a paragraph.</p> <p>This is another paragraph.</p> <div>This is some important text!</div><br> <button>Add classes to elements</button> </body> </html>

You can also specify multiple classes within the addClass() method:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("#div1").addClass("important blue"); }); }); </script> <style> .important {

Page 53: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

53 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

font-weight: bold; font-size: xx-large; } .blue { color: blue; } </style> </head> <body> <div id="div1">This is some text.</div> <div id="div2">This is some text.</div> <br> <button>Add classes to first div element</button> </body> </html>

jQuery removeClass() Method

The following example shows how to remove a specific class attribute from different elements:

Example:

<head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("h1, h2, p").removeClass("blue"); }); }); </script> <style> .important { font-weight: bold; font-size: xx-large; } .blue { color: blue; } </style> </head> <body> <h1 class="blue">Heading 1</h1> <h2 class="blue">Heading 2</h2> <p class="blue">This is a paragraph.</p> <p>This is another paragraph.</p> <button>Remove class from elements</button> </body>

Page 54: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

54 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

</html>

jQuery toggleClass() Method

The following example will show how to use the jQuery toggleClass() method. This method toggles

between adding/removing classes from the selected elements:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("h1, h2, p").toggleClass("blue"); }); }); </script> <style> .blue { color: blue; } </style> </head> <body> <h1>Heading 1</h1> <h2>Heading 2</h2> <p>This is a paragraph.</p> <p>This is another paragraph.</p> <button>Toggle class</button> </body> </html>

jQuery css() Method

The css() method sets or returns one or more style properties for the selected elements.

Return a CSS Property

To return the value of a specified CSS property, use the following syntax:

css("propertyname");

Page 55: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

55 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

The following example will return the background-color value of the FIRST matched element:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { alert("Background color = " + $("p").css("background-color")); }); }); </script> </head> <body> <h2>This is a heading</h2> <p style="background-color:#ff0000">This is a paragraph.</p> <p style="background-color:#00ff00">This is a paragraph.</p> <p style="background-color:#0000ff">This is a paragraph.</p> <button>Return background-color of p</button> </body> </html>

Set a CSS Property

To set a specified CSS property, use the following syntax:

css("propertyname","value");

The following example will set the background-color value for ALL matched elements:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("p").css("background-color", "yellow"); }); }); </script> </head>

Page 56: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

56 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<body> <h2>This is a heading</h2> <p style="background-color:#ff0000">This is a paragraph.</p> <p style="background-color:#00ff00">This is a paragraph.</p> <p style="background-color:#0000ff">This is a paragraph.</p> <p>This is a paragraph.</p> <button>Set background-color of p</button> </body> </html>

Set Multiple CSS Properties

To set multiple CSS properties, use the following syntax:

css({"propertyname":"value","propertyname":"value",...});

The following example will set a background-color and a font-size for ALL matched elements:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("p").css({ "background-color": "yellow", "font-size": "200%" }); }); }); </script> </head> <body> <h2>This is a heading</h2> <p style="background-color:#ff0000">This is a paragraph.</p> <p style="background-color:#00ff00">This is a paragraph.</p> <p style="background-color:#0000ff">This is a paragraph.</p> <p>This is a paragraph.</p> <button>Set multiple styles for p</button> </body> </html>

jQuery - Dimensions

Page 57: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

57 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

jQuery Dimension Methods

jQuery has several important methods for working with dimensions:

width()

height()

innerWidth()

innerHeight()

outerWidth()

outerHeight()

jQuery Dimensions

jQuery width() and height() Methods

The width() method sets or returns the width of an element (excludes padding, border and margin).

Page 58: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

58 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

The height() method sets or returns the height of an element (excludes padding, border and margin).

The following example returns the width and height of a specified <div> element:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { var txt = ""; txt += "Width of div: " + $("#div1").width() + "</br>"; txt += "Height of div: " + $("#div1").height(); $("#div1").html(txt); }); }); </script> <style> #div1 { height: 100px; width: 300px; padding: 10px; margin: 3px; border: 1px solid blue; background-color: lightblue; } </style> </head> <body> <div id="div1"></div> <br> <button>Display dimensions of div</button> <p>width() - returns the width of an element.</p> <p>height() - returns the height of an element.</p> </body> </html>

jQuery innerWidth() and innerHeight() Methods

The innerWidth() method returns the width of an element (includes padding).

The innerHeight() method returns the height of an element (includes padding).

The following example returns the inner-width/height of a specified <div> element:

Example:

Page 59: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

59 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { var txt = ""; txt += "Width of div: " + $("#div1").width() + "</br>"; txt += "Height of div: " + $("#div1").height() + "</br>"; txt += "Inner width of div: " + $("#div1").innerWidth() + "</br>"; txt += "Inner height of div: " + $("#div1").innerHeight(); $("#div1").html(txt); }); }); </script> </head> <style> #div1 { height: 100px; width: 300px; padding: 10px; margin: 3px; border: 1px solid blue; background-color: lightblue; } </style> <body> <div id="div1"></div> <br> <button>Display dimensions of div</button> <p>innerWidth() - returns the width of an element (includes padding).</p> <p>innerHeight() - returns the height of an element (includes padding).</p> </body> </html>

jQuery outerWidth() and outerHeight() Methods

The outerWidth() method returns the width of an element (includes padding and border).

The outerHeight() method returns the height of an element (includes padding and border).

The following example returns the outer-width/height of a specified <div> element:

Example:

<!DOCTYPE html> <html>

Page 60: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

60 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { var txt = ""; txt += "Width of div: " + $("#div1").width() + "</br>"; txt += "Height of div: " + $("#div1").height() + "</br>"; txt += "Outer width of div: " + $("#div1").outerWidth() + "</br>"; txt += "Outer height of div: " + $("#div1").outerHeight(); $("#div1").html(txt); }); }); </script> <style> #div1 { height: 100px; width: 300px; padding: 10px; margin: 3px; border: 1px solid blue; background-color: lightblue; } </style> </head> <body> <div id="div1"></div> <br> <button>Display dimensions of div</button> <p>outerWidth() - returns the width of an element (includes padding and border).</p> <p>outerHeight() - returns the height of an element (includes padding and border).</p> </body> </html>

The outerWidth(true) method returns the width of an element (includes padding, border, and margin).

The outerHeight(true) method returns the height of an element (includes padding, border, and margin).

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { var txt = ""; txt += "Width of div: " + $("#div1").width() + "</br>";

Page 61: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

61 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

txt += "Height of div: " + $("#div1").height() + "</br>"; txt += "Outer width of div (margin included): " + $("#div1").outerWidth(true) + "</br>"; txt += "Outer height of div (margin included): " + $("#div1").outerHeight(true); $("#div1").html(txt); }); }); </script> <style> #div1 { height: 100px; width: 300px; padding: 10px; margin: 3px; border: 1px solid blue; background-color: lightblue; } </style> </head> <body> <div id="div1"></div> <br> <button>Display dimensions of div</button> <p>outerWidth(true) - returns the width of an element (includes padding, border, and margin).</p> <p>outerHeight(true) - returns the height of an element (includes padding, border, and margin).</p> </body> </html>

jQuery More width() and height()

The following example returns the width and height of the document (the HTML document) and window

(the browser viewport):

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { var txt = ""; txt += "Document width/height: " + $(document).width(); txt += "x" + $(document).height() + "\n"; txt += "Window width/height: " + $(window).width(); txt += "x" + $(window).height();

Page 62: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

62 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

alert(txt); }); }); </script> </head> <body> <button>Display dimensions of document and window</button> </body> </html>

The following example sets the width and height of a specified <div> element:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("#div1").width(500).height(500); }); }); </script> <style> #div1 { height: 100px; width: 300px; padding: 10px; margin: 3px; border: 1px solid blue; background-color: lightblue; } </style> </head> <body> <div id="div1"></div> <br> <button>Resize div</button> </body> </html>

Page 63: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

63 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

jQuery Traversing

What is Traversing?

jQuery traversing, which means "move through", are used to "find" (or select) HTML elements based on

their relation to other elements. Start with one selection and move through that selection until you

reach the elements you desire.

The image below illustrates a family tree. With jQuery traversing, you can easily move up (ancestors),

down (descendants) and sideways (siblings) in the family tree, starting from the selected (current)

element. This movement is called traversing - or moving through - the DOM.

Illustration explained:

The <div> element is the parent of <ul>, and an ancestor of everything inside of it

The <ul> element is the parent of both <li> elements, and a child of <div>

The left <li> element is the parent of <span>, child of <ul> and a descendant of <div>

The <span> element is a child of the left <li> and a descendant of <ul> and <div>

The two <li> elements are siblings (they share the same parent)

The right <li> element is the parent of <b>, child of <ul> and a descendant of <div>

The <b> element is a child of the right <li> and a descendant of <ul> and <div>

Traversing the DOM

jQuery provides a variety of methods that allows us to traverse the DOM.

The largest category of traversal methods are tree-traversal.

The next chapters will show us how to travel up, down and sideways in the DOM tree.

Page 64: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

64 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

jQuery Traversing - Ancestors

Traversing Up the DOM Tree

Three useful jQuery methods for traversing up the DOM tree are:

parent()

parents()

parentsUntil()

jQuery parent() Method

The parent() method returns the direct parent element of the selected element.

This method only traverse a single level up the DOM tree.

The following example returns the direct parent element of each <span> elements:

Example:

<!DOCTYPE html> <html> <head> <style> .ancestors * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("span").parent().css({ "color": "red", "border": "2px solid red" }); }); </script> </head> <body> <div class="ancestors"> <div style="width:500px;"> div (great-grandparent) <ul>

Page 65: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

65 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

ul (grandparent) <li> li (direct parent) <span>span</span> </li> </ul> </div> <div style="width:500px;"> div (grandparent) <p> p (direct parent) <span>span</span> </p> </div> </div> </body> </html>

jQuery parents() Method

The parents() method returns all ancestor elements of the selected element, all the way up to the

document's root element (<html>).

The following example returns all ancestors of all <span> elements:

Example:

<!DOCTYPE html> <html> <head> <style> .ancestors * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("span").parents().css({ "color": "red", "border": "2px solid red" }); }); </script> </head> <body class="ancestors"> body (great-great-grandparent) <div style="width:500px;">

Page 66: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

66 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

div (great-grandparent) <ul> ul (grandparent) <li> li (direct parent) <span>span</span> </li> </ul> </div> </body> <!-- The outer red border, before the body element, is the html element (also an ancestor) --> </html>

You can also use an optional parameter to filter the search for ancestors.

The following example returns all ancestors of all <span> elements that are <ul> elements:

Example:

<!DOCTYPE html> <html> <head> <style> .ancestors * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("span").parents("ul").css({ "color": "red", "border": "2px solid red" }); }); </script> </head> <body class="ancestors"> body (great-great-grandparent) <div style="width:500px;"> div (great-grandparent) <ul> ul (grandparent) <li> li (direct parent) <span>span</span> </li> </ul> </div>

Page 67: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

67 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

</body> </html>

jQuery parentsUntil() Method

The parentsUntil() method returns all ancestor elements between two given arguments.

The following example returns all ancestor elements between a <span> and a <div> element:

Example:

<!DOCTYPE html> <html> <head> <style> .ancestors * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("span").parentsUntil("div").css({ "color": "red", "border": "2px solid red" }); }); </script> </head> <body class="ancestors"> body (great-great-grandparent) <div style="width:500px;"> div (great-grandparent) <ul> ul (grandparent) <li> li (direct parent) <span>span</span> </li> </ul> </div> </body> </html>

Page 68: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

68 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

jQuery Traversing - Descendants

Traversing Down the DOM Tree

Two useful jQuery methods for traversing down the DOM tree are:

children()

find()

jQuery children() Method

The children() method returns all direct children of the selected element.

This method only traverse a single level down the DOM tree.

The following example returns all elements that are direct children of each <div> elements:

Example:

<!DOCTYPE html> <html> <head> <style> .descendants * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("div").children().css({ "color": "red", "border": "2px solid red" }); }); </script> </head> <body> <div class="descendants" style="width:500px;"> div (current element) <p> p (child) <span>span (grandchild)</span> </p>

Page 69: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

69 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<p> p (child) <span>span (grandchild)</span> </p> </div> </body> </html>

You can also use an optional parameter to filter the search for children.

The following example returns all <p> elements with the class name "first", that are direct children of

<div>:

Example:

<!DOCTYPE html> <html> <head> <style> .descendants * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("div").children("p.first").css({ "color": "red", "border": "2px solid red" }); }); </script> </head> <body> <div class="descendants" style="width:500px;"> div (current element) <p class="first"> p (child) <span>span (grandchild)</span> </p> <p class="second"> p (child) <span>span (grandchild)</span> </p> </div> </body> </html>

Page 70: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

70 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

jQuery find() Method

The find() method returns descendant elements of the selected element, all the way down to the last

descendant.

The following example returns all <span> elements that are descendants of <div>:

Example:

<!DOCTYPE html> <html> <head> <style> .descendants * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("div").find("span").css({ "color": "red", "border": "2px solid red" }); }); </script> </head> <body> <div class="descendants" style="width:500px;"> div (current element) <p> p (child) <span>span (grandchild)</span> </p> <p> p (child) <span>span (grandchild)</span> </p> </div> </body> </html>

Page 71: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

71 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

The following example returns all descendants of <div>:

Example:

<!DOCTYPE html> <html> <head> <style> .descendants * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("div").find("*").css({ "color": "red", "border": "2px solid red" }); }); </script> </head> <body> <div class="descendants" style="width:500px;"> div (current element) <p> p (child) <span>span (grandchild)</span> </p> <p> p (child) <span>span (grandchild)</span> </p> </div> </body> </html>

Page 72: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

72 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

jQuery Traversing - Siblings

Traversing Sideways in The DOM Tree

There are many useful jQuery methods for traversing sideways in the DOM tree:

siblings()

next()

nextAll()

nextUntil()

prev()

prevAll()

prevUntil()

jQuery siblings() Method

The siblings() method returns all sibling elements of the selected element.

The following example returns all sibling elements of <h2>:

Example:

<!DOCTYPE html> <html> <head> <style> .siblings * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("h2").siblings().css({ "color": "red", "border": "2px solid red" }); }); </script> </head> <body class="siblings"> <div>

Page 73: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

73 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

div (parent) <p>p</p> <span>span</span> <h2>h2</h2> <h3>h3</h3> <p>p</p> </div> </body> </html>

You can also use an optional parameter to filter the search for siblings.

The following example returns all sibling elements of <h2> that are <p> elements:

Example:

<doctype html> <html> <head> <style> .siblings * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("h2").siblings("p").css({ "color": "red", "border": "2px solid red" }); }); </script> </head> <body class="siblings"> <div> div (parent) <p>p</p> <span>span</span> <h2>h2</h2> <h3>h3</h3> <p>p</p> </div> </body> </html>

Page 74: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

74 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

jQuery next() Method

The next() method returns the next sibling element of the selected element.

The following example returns the next sibling of <h2>:

Example:

<!DOCTYPE html> <html> <head> <style> .siblings * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("h2").next().css({ "color": "red", "border": "2px solid red" }); }); </script> </head> <body class="siblings"> <div> div (parent) <p>p</p> <span>span</span> <h2>h2</h2> <h3>h3</h3> <p>p</p> </div> </body> </html>

jQuery nextAll() Method

The nextAll() method returns all next sibling elements of the selected element.

The following example returns all next sibling elements of <h2>:

Example:

Page 75: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

75 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<!DOCTYPE html> <html> <head> <style> .siblings * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("h2").nextAll().css({ "color": "red", "border": "2px solid red" }); }); </script> </head> <body class="siblings"> <div> div (parent) <p>p</p> <span>span</span> <h2>h2</h2> <h3>h3</h3> <p>p</p> </div> </body> </html>

jQuery nextUntil() Method

The nextUntil() method returns all next sibling elements between two given arguments.

The following example returns all sibling elements between a <h2> and a <h6> element:

Example:

<!DOCTYPE html> <html> <head> <style> .siblings * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; }

Page 76: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

76 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

</style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("h2").nextUntil("h6").css({ "color": "red", "border": "2px solid red" }); }); </script> </head> <body class="siblings"> <div> div (parent) <p>p</p> <span>span</span> <h2>h2</h2> <h3>h3</h3> <h4>h4</h4> <h5>h5</h5> <h6>h6</h6> <p>p</p> </div> </body> </html>

Query prev(), prevAll() & prevUntil() Methods

The prev(), prevAll() and prevUntil() methods work just like the methods above but with reverse

functionality: they return previous sibling elements (traverse backwards along sibling elements in the

DOM tree, instead of forward).

jQuery Traversing - Filtering

Narrow Down The Search For Elements

The three most basic filtering methods are first(), last() and eq(), which allow you to select a specific

element based on its position in a group of elements.

Other filtering methods, like filter() and not() allow you to select elements that match, or do not match,

a certain criteria.

jQuery first() Method

The first() method returns the first element of the selected elements.

Page 77: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

77 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

The following example selects the first <p> element inside the first <div> element:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("div p").first().css("background-color", "yellow"); }); </script> </head> <body> <h1>Welcome to My Homepage</h1> <p>This is the first paragraph in body.</p> <div style="border: 1px solid black;"> <p>This is the first paragraph in a div.</p> <p>This is the last paragraph in a div.</p> </div><br> <div style="border: 1px solid black;"> <p>This is the first paragraph in another div.</p> <p>This is the last paragraph in another div.</p> </div> <p>This is the last paragraph in body.</p> </body> </html>

jQuery last() Method

The last() method returns the last element of the selected elements.

The following example selects the last <p> element inside the last <div> element:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("div p").last().css("background-color", "yellow"); }); </script> </head> <body> <h1>Welcome to My Homepage</h1>

Page 78: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

78 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

<p>This is the first paragraph in body.</p> <div style="border: 1px solid black;"> <p>This is the first paragraph in a div.</p> <p>This is the last paragraph in a div.</p> </div><br> <div style="border: 1px solid black;"> <p>This is the first paragraph in another div.</p> <p>This is the last paragraph in another div.</p> </div> <p>This is the last paragraph in body.</p> </body> </html>

jQuery eq() method

The eq() method returns an element with a specific index number of the selected elements.

The index numbers start at 0, so the first element will have the index number 0 and not 1. The following

example selects the second <p> element (index number 1):

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("p").eq(1).css("background-color", "yellow"); }); </script> </head> <body> <h1>Welcome to My Homepage</h1> <p>My name is Donald (index 0).</p> <p>Donald Duck (index 1).</p> <p>I live in Duckburg (index 2).</p> <p>My best friend is Mickey (index 3).</p> </body> </html>

jQuery filter() Method

The filter() method lets you specify a criteria. Elements that do not match the criteria are removed from

the selection, and those that match will be returned.

Page 79: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

79 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

The following example returns all <p> elements with class name "intro":

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("p").filter(".intro").css("background-color", "yellow"); }); </script> </head> <body> <h1>Welcome to My Homepage</h1> <p>My name is Donald.</p> <p class="intro">I live in Duckburg.</p> <p class="intro">I love Duckburg.</p> <p>My best friend is Mickey.</p> </body> </html>

jQuery not() Method

The not() method returns all elements that do not match the criteria.

The following example returns all <p> elements that do not have class name "intro":

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("p").not(".intro").css("background-color", "yellow"); }); </script> </head> <body> <h1>Welcome to My Homepage</h1> <p>My name is Donald.</p> <p class="intro">I live in Duckburg.</p> <p class="intro">I love Duckburg.</p> <p>My best friend is Mickey.</p> <body>

Page 80: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

80 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

</html>

jQuery - AJAX

jQuery - AJAX Introduction

What is AJAX?

AJAX = Asynchronous JavaScript and XML.

In short; AJAX is about loading data in the background and display it on the webpage, without reloading

the whole page.

Examples of applications using AJAX: Gmail, Google Maps, Youtube, and Facebook tabs.

What About jQuery and AJAX?

jQuery provides several methods for AJAX functionality.

With the jQuery AJAX methods, you can request text, HTML, XML, or JSON from a remote server using

both HTTP Get and HTTP Post - And you can load the external data directly into the selected HTML

elements of your web page!

jQuery - AJAX load() Method

The jQuery load() method is a simple, but powerful AJAX method.

The load() method loads data from a server and puts the returned data into the selected element.

Syntax:

$(selector).load(URL,data,callback);

The required URL parameter specifies the URL you wish to load.

The optional data parameter specifies a set of querystring key/value pairs to send along with the

request.

Page 81: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

81 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

The optional callback parameter is the name of a function to be executed after the load() method is

completed.

Here is the content of our example file: "demo_test.txt":

<h2>jQuery and AJAX is FUN!!!</h2> <p id="p1">This is some text in a paragraph.</p>

The following example loads the content of the file "demo_test.txt" into a specific <div> element:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("#div1").load("demo_test.txt"); }); }); </script> </head> <body> <div id="div1"><h2>Let jQuery AJAX Change This Text</h2></div> <button>Get External Content</button> </body> </html>It is also possible to add a jQuery selector to the URL parameter.

jQuery - AJAX get() and post() Methods

The jQuery get() and post() methods are used to request data from the server with an HTTP GET or POST request.

HTTP Request: GET vs. POST

Two commonly used methods for a request-response between a client and server are: GET and POST.

GET - Requests data from a specified resource

POST - Submits data to be processed to a specified resource

Page 82: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

82 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

GET is basically used for just getting (retrieving) some data from the server. Note: The GET method may

return cached data.

POST can also be used to get some data from the server. However, the POST method NEVER caches

data, and is often used to send data along with the request.

jQuery $.get() Method

The $.get() method requests data from the server with an HTTP GET request.

Syntax:

$.get(URL,callback);

The required URL parameter specifies the URL you wish to request.

The optional callback parameter is the name of a function to be executed if the request succeeds.

The following example uses the $.get() method to retrieve data from a file on the server:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $.get("demo_test.asp", function (data, status) { alert("Data: " + data + "\nStatus: " + status); }); }); }); </script> </head> <body> <button>Send an HTTP GET request to a page and get the result back</button> </body> </html>

The first parameter of $.get() is the URL we wish to request ("demo_test.asp").

Page 83: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

83 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

The second parameter is a callback function. The first callback parameter holds the content of the page

requested, and the second callback parameter holds the status of the request.

jQuery $.post() Method

The $.post() method requests data from the server using an HTTP POST request.

Syntax:

$.post(URL,data,callback);

The required URL parameter specifies the URL you wish to request.

The optional data parameter specifies some data to send along with the request.

The optional callback parameter is the name of a function to be executed if the request succeeds.

The following example uses the $.post() method to send some data along with the request:

Example:

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { $("button").click(function () { $.post("demo_test_post.asp", { name: "Donald Duck", city: "Duckburg" }, function (data, status) { alert("Data: " + data + "\nStatus: " + status); }); }); }); </script> </head> <body> <button>Send an HTTP POST request to a page and get the result back</button> </body> </html>

Page 84: JQUERYknackhook.com/Tutorials/JQueryTutorial.pdf · 1 | P a g e KnackHook Knowledge Holder info@knackhook.com  JQUERY

84 | P a g e

KnackHook Knowledge Holder

[email protected] www.knackhook.com

The first parameter of $.post() is the URL we wish to request ("demo_test_post.asp").

Then we pass in some data to send along with the request (name and city).

The ASP script in "demo_test_post.asp" reads the parameters, processes them, and returns a result.

The third parameter is a callback function. The first callback parameter holds the content of the page

requested, and the second callback parameter holds the status of the request.