Thursday, January 31, 2013

JQuery.....



jQuery Selectors
Use our excellent jQuery Selector Tester to experiment with the different selectors.
Selector
Example
Selects
*
$("*")
All elements
$("#lastname")
The element with id="lastname"
$(".intro")
All elements with class="intro"
$(".intro.demo")
All elements with the classes "intro" and "demo"
$("p")
All p elements
$("h1,div,p")
All h1, div and p elements



$("p:first")
The first p element
$("p:last")
The last p element
$("tr:even")
All even tr elements
$("tr:odd")
All odd tr elements



$("div p:first-child")
The first p element of all div elements
$("div p:last-child")
The last p element of all div elements
$("div p:nth-child(2)")
The p element that is the second child of all div elements
$("div p:only-child")
The p element that is the only child of all div elements



$("div > p")
All p elements that are a direct child of a div element
$("div p")
All p elements that are descendants of a div element
$("div + p")
The p element that are next to each div elements
$("div ~ p")
All p elements that are siblings of a div element



$("ul li:eq(3)")
The fourth element in a list (index starts at 0)
$("ul li:gt(3)")
List elements with an index greater than 3
$("ul li:lt(3)")
List elements with an index less than 3
$("input:not(:empty)")
All input elements that are not empty



$(":header")
All header elements h1, h2 ...
$(":animated")
All animated elements
$(":focus")
The element that currently has focus
$(":contains('Hello')")
All elements which contains the text "Hello"
$("div:has(p)")
All div elements that have a p element
$(":empty")
All elements that are empty
$(":parent")
All elements that are a parent of another element
$("p:hidden")
All hidden p elements
$("table:visible")
All visible tables



$("[href]")
All elements with a href attribute
$("[href='default.htm']")
All elements with a href attribute value equal to "default.htm"
$("[href!='default.htm']")
All elements with a href attribute value not equal to "default.htm"
$("[href$='.jpg']")
All elements with a href attribute value ending with ".jpg"
$("[hreflang|='en']")
All elements with a hreflang attribute value starting with "en"
$("[name^='hello']")
All elements with a name attribute value starting with "hello"
$("[name~='hello']")
All elements with a name attribute value containing the word "hello"
$("[name*='hello']")
All elements with a name attribute value containing the string "hello"



$(":input")
All input elements
$(":text")
All input elements with type="text"
$(":password")
All input elements with type="password"
$(":radio")
All input elements with type="radio"
$(":checkbox")
All input elements with type="checkbox"
$(":submit")
All input elements with type="submit"
$(":reset")
All input elements with type="reset"
$(":button")
All input elements with type="button"
$(":image")
All input elements with type="image"
$(":file")
All input elements with type="file"
$(":enabled")
All enabled input elements
$(":disabled")
All disabled input elements
$(":selected")
All selected input elements
$(":checked")
All checked input elements


Mouse Events
Keyboard Events
Form Events
Document/Window Events
click
keypress
submit
load
dblclick
keydown
change
resize
mouseenter
keyup
focus
scroll
mouseleave

blur
unload

$("p").click(function(){
  // action goes here!!
});
jQuery Event Methods
Event methods trigger or attach a function to an event handler for the selected elements.
The following table lists all the jQuery methods used to handle events.
Method
Description
Attaches event handlers to elements
Attaches/Triggers the blur event
Attaches/Triggers the change event
Attaches/Triggers the click event
Attaches/Triggers the double click event
Attaches a handler to current, or future, specified child elements of the matching elements
Removes all event handlers added with the live() method
Attaches/Triggers the error event
The current DOM element within the event bubbling phase
Contains the optional data passed to an event method when the current executing handler is bound
Returns the element where the currently-called jQuery event handler was attached
Returns whether event.preventDefault() was called for the event object
Returns whether event.stopImmediatePropagation() was called for the event object
Returns whether event.stopPropagation() was called for the event object
Returns the namespace specified when the event was triggered
Returns the mouse position relative to the left edge of the document
Returns the mouse position relative to the top edge of the document
Prevents the default action of the event
Returns which element being entered or exited on mouse movement.
Contains the last/previous value returned by an event handler triggered by the specified event
Prevents other event handlers from being called
Prevents the event from bubbling up the DOM tree, preventing any parent handlers from being notified of the event
Returns which DOM element triggered the event
Returns the number of milliseconds since January 1, 1970, when the event is triggered
Returns which event type was triggered
Returns which keyboard key or mouse button was pressed for the event
Attaches/Triggers the focus event
Attaches an event handler to the focusin event
Attaches an event handler to the focusout event
Attaches two event handlers to the hover event
Attaches/Triggers the keydown event
Attaches/Triggers the keypress event
Attaches/Triggers the keyup event
Adds one or more event handlers to current, or future, selected elements
Attaches an event handler to the load event
Attaches/Triggers the mousedown event
Attaches/Triggers the mouseenter event
Attaches/Triggers the mouseleave event
Attaches/Triggers the mousemove event
Attaches/Triggers the mouseout event
Attaches/Triggers the mouseover event
Attaches/Triggers the mouseup event
Removes event handlers attached with the on() method
Attaches event handlers to elements
Adds one or more event handlers to selected elements. This handler can only be triggered once per element
Takes an existing function and returns a new one with a particular context
Specifies a function to execute when the DOM is fully loaded
Attaches/Triggers the resize event
Attaches/Triggers the scroll event
Attaches/Triggers the select event
Attaches/Triggers the submit event
Attaches two or more functions to toggle between for the click event
Triggers all events bound to the selected elements
Triggers all functions bound to a specified event for the selected elements
Removes an added event handler from selected elements
Removes an event handler to selected elements, now or in the future
Attaches an event handler to the unload event

Example with Callback
$("button").click(function(){
  $("p").hide("slow",function(){
    alert("The paragraph is now hidden");
  });
});

Get Content - text(), html(), and val()
Three simple, but useful, jQuery methods for DOM manipulation is:
  • 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:
Example
$("#btn1").click(function(){
  alert("Text: " + $("#test").text());
});
$("#btn2").click(function(){
  alert("HTML: " + $("#test").html());
});
Get Attributes - attr()
The jQuery attr() method is used to get attribute values.
The following example demonstrates how to get the value of the href attribute in a link:
Example
$("button").click(function(){
  alert($("#w3s").attr("href"));
});
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
$("button").click(function(){
  $("#w3s").attr("href","http://www.w3schools.com/jquery");
});


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:
Example
$("button").click(function(){
  $("#w3s").attr({
    "href" : "http://www.w3schools.com/jquery",
    "title" : "W3Schools jQuery Tutorial"
  });
});

Query width() and height() Methods
The width() method sets or returns the width of an element (includes NO padding, border, or margin).
The height() method sets or returns the height of an element (includes NO padding, border, or margin).
The following example returns the width and height of a specified <div> element:
Example
$("button").click(function(){
  var txt="";
  txt+="Width: " + $("#div1").width() + "</br>";
  txt+="Height: " + $("#div1").height();
  $("#div1").html(txt);
});
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
$("button").click(function(){
  var txt="";
  txt+="Inner width: " + $("#div1").innerWidth() + "</br>";
  txt+="Inner height: " + $("#div1").innerHeight();
  $("#div1").html(txt);
});


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
$("button").click(function(){
  var txt="";
  txt+="Outer width: " + $("#div1").outerWidth() + "</br>";
  txt+="Outer height: " + $("#div1").outerHeight();
  $("#div1").html(txt);
});
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
$("button").click(function(){
  var txt="";
  txt+="Outer width (+margin): " + $("#div1").outerWidth(true) + "</br>";
  txt+="Outer height (+margin): " + $("#div1").outerHeight(true);
  $("#div1").html(txt);
});




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
$("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();
  alert(txt);
});


The following example sets the width and height of a specified <div> element:
Example
$("button").click(function(){
  $("#div1").width(500).height(500);
});

jQuery HTML / CSS Methods
The following table lists all the methods used to manipulate the HTML and CSS.
The methods below work for both HTML and XML documents. Exception: the html() method.
Method
Description
Adds one or more class names to selected elements
Inserts content after selected elements
Inserts content at the end of selected elements
Inserts HTML elements at the end of selected elements
Sets or returns attributes/values of selected elements
Inserts content before selected elements
Makes a copy of selected elements
Sets or returns one or more style properties for selected elements
Removes selected elements (keeps data and events)
Removes all child nodes and content from selected elements
Checks if any of the selected elements have a specified class name
Sets or returns the height of selected elements
Sets or returns the content of selected elements
Returns the height of an element (includes padding, but not border)
Returns the width of an element (includes padding, but not border)
Inserts HTML elements after selected elements
Inserts HTML elements before selected elements
Sets or returns the offset coordinates for selected elements (relative to the document)
Returns the first positioned parent element
Returns the height of an element (includes padding and border)
Returns the width of an element (includes padding and border)
Returns the position (relative to the parent element) of an element
Inserts content at the beginning of selected elements
Inserts HTML elements at the beginning of selected elements
Sets or returns properties/values of selected elements
Removes the selected elements (including data and events)
Removes one or more attributes from selected elements
Removes one or more classes from selected elements
Removes a property set by the prop() method
Replaces selected elements with new HTML elements
Replaces selected elements with new content
Sets or returns the horizontal scrollbar position of selected elements
Sets or returns the vertical scrollbar position of selected elements
Sets or returns the text content of selected elements
Toggles between adding/removing one or more classes from selected elements
Removes the parent element of the selected elements
Sets or returns the value attribute of the selected elements (for form elements)
Sets or returns the width of selected elements
Wraps HTML element(s) around each selected element
Wraps HTML element(s) around all selected elements
Wraps HTML element(s) around the content of each selected element