JQuery – Five useful tips
- Selectors
Before an element can be manipulated using JQuery, it needs to be identified. JQuery provides a powerful syntax for selecting a one or more elements. Here are some simple selectors (notice similarity to CSS element selection):- Selecting by id: $(‘#yourelementid’)
- Selecting by class name: $(‘.yourclassname’)
- Selecting by tag name: $(‘p’) selects all the
elements in the page
Other useful selectors:
- div > a will select all the links present directly inside a div tag
- tag[attribute=value] will select all the elements of type tag with the given attribute name and value. For example input[type=’text’] will select all the text tags
- :checkbox, :radio, :file are shortcuts to select checkboxes, radio buttons and file elements.
- :hidden selects all the elements that are hidden (such as head and base tags). This DOES NOT select all the form hidden fields.
- Reading and Modifying attribute values
Once a element is selected, its value can be read and modified using attr method, Here are examples:- $(‘base’).attr(“href”) reads the href attribute of the base tag
- $(“#formTextId”).attr(“value”, ‘Test Value’);
- Document ready handler
The document ready handler provides a convenient location to place all the document’s initialization code. JQuery executes this handler right after the browser finishes converting HTML into DOM tree. Here is the syntax for handler:$(document).ready(function() { // Your code });
A shortcut syntax for this:
$(function() { // Your code });
It is possible to chain the several handlers and JQuery will execute them in the order in which they are declared.
- live() method
JQuery’s live() method binds a handler to an event for current and future matched elements. This is extremely useful when elements are loaded dynamically (using AJAX for example) and need to have their behavior controlled by JQuery. For example the following code will display a “Print” window when a link of class printLink is clicked.$(".printLink").live("click", function(){ window.print(); return false; });
A JQuery plugin called Live Query provides a similar but more robust functionality
- load() method
Provides a simple and convenient way to inject html content into an element (or set of elements) using Ajax. For example the following code injects html code of aelement with id ‘paragraphId’ inside test.html page into div with id ‘someDivId’.
$(‘#someDivId’).load(‘/test.html #paragraphId’);
Hi! I was surfing and found your blog post… nice! I love your blog. 🙂 Cheers! Sandra. R.
These tpocis are so confusing but this helped me get the job done.