Introduction
jQuery is one of the many framework provided online to help developers to minimize the time needed to write advance coding. It provides many useful feature to help developers to overcome cross browser issues. Best of all, it is extremely light-weight for optimization! jQuery has a large community and available plugin for different purposes. What jQuery can do for you? Powerful stuff! Check out their plugin made by other developers all over the world!
Since i am also new to jQuery, i believe there will always be new comer entering new technology and feature. So here i am writing this article to introduce some of the basic i learn in jQuery and hope it will help others too. Please bear in mind before we start, jQuery selection will always return you a set of jQuery object which you can use to do a chain operation(chaining is the powerful part of jQuery).
Element Manipulation
Let's start with jQuery element manipulation. For starters, jQuery is written in the following two ways,
$(selector)
or
$jQuery(selector)
This is the basic thing a jQuery programmer will need to know when dealing with jQuery. This is more like a declaration for jQuery. The '$' symbol and jQuery is the namespace used in jQuery. With just this knowledge, you can do a lot of things in jQuery. Below listed different way of manipulating the element in jQuery.
$("p a")
retrieve the group of links nested inside a
element
$("div.notLongForThisWorld").fadeOut();
fade out all
$("div.notLongForThisWorld").fadeOut().addClass("removed");
add a new CSS class, removed, to each of the elements in addition to fading them out. The fadeOut() is a function in jQuery that will fade the element out of the screen while addClass(css class name) adds a new class to the element.
$("#someElement").html("I have added some text to an element");
or
$("#someElement")[0].innerHTML ="I have added some text to an element");
add the text 'I have added some text to an element' to the element which hold the id 'someElement'. The first adds to all elements that contain this id the second only place the text into the first element it sees. The .html('') is similar to innerHTML.
$("p:even");
This selector selects all even
elements. even is one of the Filter in jQuery
$("tr:nth-child(1)");
This selector selects the first row of each table.nth-child(index/even/odd/equation) is one of jQuery Child Filter.
$("body > div");
This selector selects direct
$("a[href$=pdf]");
This selector selects all links to PDF files. the [attribute$=value] is one of jQuery Attribute Filter
$("body > div:has(a)")
This selector selects direct
$('img[alt],img[title]')
match all elements that have either an alt or a title attribute.
if you haven't notice, the syntax used in the string are mostly used in CSS too which is used to select the specify element to apply the style on. This is also being used in jQuery during selection. jQuery has its own advance selection too which are the filters and hierarchy example shown above. jQuery uses some form of regular expression to perform its selection but the author had made it very abstract for the developers(great!). You guys can visit http://docs.jquery.com/Selectors for more selector manipulation functions and example.
Utility Functions
jQuery itself has many other Utility functions that can be used by developers. An example to use a function 'Trim' is as follow,
$.trim(" testing ")
the above will provide a trimmed version of 'testing' without spaces in between the word. It can also be
jQuery.trim(" testing ")
There are many other function that can be found in http://docs.jquery.com/Utilities which is useful when dealing with application.
Document Ready Handler
Traditionally we have the onload method given in javascript. However, the onload event handler is evil because it not only wait for the DOM tree to be fully created, it also waited for all other element in the page to finish loaded. This means that only when the page has fully loaded, will the function in the onload event handler starts activating. Most of the time the user will long be gone before your page has loaded(images loaded last and longest). Speed is everything nowadays.
jQuery provided a event handler called 'ready' which is very handle. It is not only cross browser compatibility, it also eliminate the 'problem' caused by onload function. The ready event handler will load once the DOM tree has fully loaded. This way, both the images and functions of javascript can be proceed. This promote synchronisation. Furthermore, the jQuery ready event handler is able to be nested in the script unlike onload handler which only allow a single function.
Example,
$(document).ready(function() {$("table tr:nth-child(even)").addClass("even");});
This is a formal syntax when calling .ready event handler.
$(function() {$("table tr:nth-child(even)").addClass("even");});
While this is an shorthand form. (By passing a function to $())
Making DOM Element
Making DOM element for cross browser is never an easy task. Most programmers will face issues when dealing with IE in making DOM element. jQuery helps to eliminate all these problem by simplifying it.
Example,
$("<p>Just like this</p>")
To create a DOM element in jQuery is as simple as writing a tag in HTML!
Extending jQuery
Wish to extend the Capability of jQuery? You can, by writing the following code.
$.fn.disable = function() { return this.each(function() { if (typeof this.disabled != "undefined") this.disabled = true; });}
The above code tells jQuery that we are defining a new method 'disabled' by extending the $ wrapper by using the sentence '$.fn'.
Conclusion
From the above we can see how powerful jQuery is. Learning more about it and working with this existing library will help alot in the future! Especially when it comes to cross browser and file size, jQuery is one of the best among the framework available. Furthermore, there is a very large community for this framework that can assist your growth in jQuery. Of course, there are alternative such as MooTool that also provided the same competitive advantages similar to jQuery.Unfortunately, I have not a chance to experience MooTool yet. Hopefully i will in the future! The above example mostly has been taken in the book 'jQuery in Action' by Bear Bibeault and Yehuda Katz. Great book for people who has a understanding on DOM, CSS and javascript.
3 thoughts on “Introduction to jQuery basic for beginners”
Comments are closed.