Skip to main content

jQuery Selectors

In this post I would like to share what are the different ways by which we can select a particular DOM element. There are numerous ways of selecting an element, lets focus on the important ways.
Let us consider the following HTML code.


<div class="myClass" myAttribute="myAttributeValue">
<span>This is the first span in div </span>
<span class="mySpanClass">This is second span in  div </span>
</div>


If you have to get the attribute value of myAttribute of the first div with class="myClass"
You can write in two ways -

One


 $("div.myClass").attr('myAttribute'); 
//output will be myAttributeValue

Two


 $(".myClass").attr('myAttribute'); 
//output will be myAttributeValue

The above second way is not safe if you have elements other than div (such as span,td etc ) with the same class name.

Selection by attribute If you want to know the class of the div you can write the following code


 $("div[myAttribute=myAttributeValue]").attr('class');
//output will be myClass

One can use, user defined attributes in HTML . For example, <td employee_id=10 > is perfectly valid . If used , user defined attributes provide a lot of information for javascript operations. One should be careful for not exposing sensitive information on the browser(such as passwords) in terms of user defined attributes.

Traversing in the DOM If you have select the first span on can write -

One


 $("div[myAttribute=myAttributeValue] span").html(); 
//output will be This is the first span in div

Two


 $("div.myClass span").html(); 
//output will be This is the first span in div

If you have to select the second span in the div, you can write-

One


 $("div.myClass span.mySpanclass").html(); 
//output will be This is second span in  div

Comments

Popular posts from this blog

Difference between SJAX and AJAX

AJAX is Asynchronous Javascript and XML SJAX is Synchronous Javascript and XML What does Asynchronous means ? It means that when a request is sent to the server the statements following (javascript code OTHER than the callback function ) are executed WITHOUT waiting for the server response. So even though if your server is taking a long time for responsing for a request , you are not put on a hold. That's the beauty of AJAX. Synchronous means here exactly the opposite of it. That means you force the browser to wait for the server response. This might be a bit a dangerous step because if the server takes a long time,the browser may appear dead. Your users might have to close the tab or the browser. How to send Synchronous request by jQuery? $.ajax method of jquery supports a lot of options , there is an option called async which is true by default . You can set it to false. You can find it here

Ajax with Jquery

This time I wanted to write something for Jquery. Jquery is a very good Javascript library. It reduces much of your coding time. So here is how you do AJAX with Jquery Step 1 -: Download the latest version of jquery from here. This is Jquery 1.4 minified version. Step 2 -: $.get(url,'',function(data){ alert("Data from ajax is "+data); }); Done !!! Now I will explain it- 1.The "$" is nothing but a shorthand notation for jQuery. 2.Then comes "get" , this can be replaced with post as well, as this is the method by which the http request will be sent to the server. 3.Next is "url". This is the url of the page you are requesting. 4.After url I have the next parameter is left as '' . This parameter is just for adding the parameters (query strings) to the url. It is left to the programmer that he wants to use this parameter or not . You can club your query string in the Url also. 5.Finally we have a ...

Anchor Text - Extract All of them

This function finds all the href links of a page including their anchor text as well. This function is also capable of finding href links which either have an images or html tags in the text part. I have seen a lot of regular expressions in books and internet ,but they miss out those href links which have images or html tags in them. This gives an array containing the links and their anchor texts . <?php /* $content is an argument which contains the contents of html page in a string. */ function getURLsFromPage($content) { $images=getImageTags($content); foreach($images as $image) { $content=str_replace($image,"",$content); } $anchors=getAnchorText($content); foreach($anchors as $anchor) { $content=str_replace($anchor,strip_tags($anchor),$content); } //get all urls in a page irrespective of their domains... $matches = array(); URL_pattern = "/\s+href\s*=\s*[\"\']?\s*([^\s\"\']+)[\"\'\s]?\s*[^>]*>([^<]*)<\/a>/ims...