The largest Interview Solution Library on the web


« Previous | 1 | 2 | 3 | Next »

JQUERY - SELECTORS


The jQuery library harnesses the power of Cascading Style Sheets (CSS) selectors to let us quickly and easily access elements or groups of elements in the Document Object Model (DOM).

A jQuery Selector is a function which makes use of expressions to find out matching elements from a DOM based on the given criteria.

The $() Factory Function

All type of selectors available in jQuery, always start with the dollar sign and parentheses:$(). The factory function $() makes use of the following three building blocks while selecting elements in a given document:
S.N.Selector & Description
1Tag Name
Represents a tag name available in the DOM. For example $('p') selects all paragraphs <p> in the document.
2Tag ID
Represents a tag available with the given ID in the DOM. For example $('#someid') selects the single element in the document that has an ID of some-id.
3Tag Class
Represents a tag available with the given class in the DOM. For example $('.some-class') selects all elements in the document that have a class of someclass.
All the above items can be used either on their own or in combination with other selectors. All the jQuery selectors are based on the same principle except some tweaking.

NOTE: The factory function $() is a synonym of jQuery() function. So in case you are using any other JavaScript library where $ sign is conflicting with some thing else then you can replace $ sign by jQuery name and you can use function jQuery() instead of $().

Example

Following is a simple example which makes use of Tag Selector. This would select all the elements with a tag name p.

<html>
<head>
<title>the title</title>
<script type="text/javascript"
src="/jquery/jquery-1.3.2.min.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
var pars = $("p");
for( i=0; i<pars.length; i++ ){
alert("Found paragraph: " + pars[i].innerHTML);
}
});
</script>
</head>
<body>
<div>
<p class="myclass">This is a paragraph.</p>
<p id="myid">This is second paragraph.</p>
<p>This is third paragraph.</p>
</div>
</body>
</html>

This will produce the the following result:

This is a paragraph.


This is second paragraph.


This is third paragraph.



How to Use Selectors?

The selectors are very useful and would be required at every step while using jQuery. They get the exact element that you want from your HTML document.

Following table lists down few basic selectors and explains them with examples.
S.N.Selector & Description
1Name
Selects all elements which match with the given element Name.
2#ID
Selects a single element which matches with the given ID.
3.Class
Selects all elements which matches with the given Class.
4Universal (*)
Selects all elements available in a DOM.
5Multiple Elements E, F, G
Selects the combined results of all the specified selectors E, F or G.
jQuery - Element Name Selector

Description

The element selector selects all the elements that have a tag name of T.

Syntax

Here is the simple syntax to use this selector −

$('tagname')

Parameters

Here is the description of all the parameters used by this selector −
  • tagname − Any standard HTML tag name like div, p, em, img, li etc.
Returns

Like any other jQuery selector, this selector also returns an array filled with the found elements.

Example
  • $('p') − Selects all elements with a tag name of p in the document.
  • $('div') − Selects all elements with a tag name of div in the document.
Following example would select all the divisions and will apply yellow color to their background −

<html>
<head>
<title>The Selecter Example</title>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
/* This would select all the divisions */
$("div").css("background-color", "yellow");
});
</script>
</head>
<body>
<div class="big" id="div1">
<p>This is first division of the DOM.</p>
</div>
<div class="medium" id="div2">
<p>This is second division of the DOM.</p>
</div>
<div class="small" id="div3">
<p>This is third division of the DOM</p>
</div>
</body>
</html>

This will produce the following result:

This is first division of the DOM.


This is second division of the DOM.


This is third division of the DOM


jQuery - Element ID Selector

Description

The element ID selector selects a single element with the given id attribute.

Syntax

Here is the simple syntax to use this selector −

$('#elementid')

Parameters

Here is the description of all the parameters used by this selector −
  • Elementid: This would be an element ID. If the id contains any special characters like periods or colons you have to escape those characters with backslashes.
Returns
Like any other jQuery selector, this selector also returns an array filled with the found element.

Example
  • $('#myid') − Selects a single element with the given id myid.
  • $('div#yourid') − Selects a single division with the given id yourid.
Following example would select second division and will apply yellow color to its background as below:

<html>
<head>
<title>The Selecter Example</title>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
/* This would select second division only*/
$("#div2").css("background-color", "yellow");
});
</script>
</head>
<body>
<div class="big" id="div1">
<p>This is first division of the DOM.</p>
</div>
<div class="medium" id="div2">
<p>This is second division of the DOM.</p>
</div>
<div class="small" id="div3">
<p>This is third division of the DOM</p>
</div>
</body>
</html>

This will produce the following result:

This is first division of the DOM.

This is second division of the DOM.

This is third division of the DOM


jQuery - Element Class Selector

Description

The element class selector selects all the elements which match with the given class of the elements.

Syntax

Here is the simple syntax to use this selector:

$('.classid')

Parameters

Here is the description of all the parameters used by this selector −
  • classid − This is class ID available in the document.
Returns

Like any other jQuery selector, this selector also returns an array filled with the found elements.

Example
  • $('.big') − Selects all the elements with the given class ID big.
  • $('p.small') − Selects all the paragraphs with the given class ID small.
  • $('.big.small') − Selects all the elements with a class of big and small.
Following example would select all divisions with class .big and will apply yellow color to its background

<html>
<head>
<title>The Selecter Example</title>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
/* This would select second division only*/
$(".big").css("background-color", "yellow");
});
</script>
</head>
<body>
<div class="big" id="div1">
<p>This is first division of the DOM.</p>
</div>
<div class="medium" id="div2">
<p>This is second division of the DOM.</p>
</div>
<div class="small" id="div3">
<p>This is third division of the DOM</p>
</div>
</body>
</html>

This will produce the following result:

This is first division of the DOM.

This is second division of the DOM.

This is third division of the DOM


jQuery - Universal Selector

Description

The universal selector selects all the elements available in the document.

Syntax

Here is the simple syntax to use this selector −

$('*')

Parameters

Here is the description of all the parameters used by this selector −

* − A symbolic star.

Returns

Like any other jQuery selector, this selector also returns an array filled with the found elements.

Example
  • $('*') selects all the elements available in the document.
Following example would select all the elements and will apply yellow color to their background. Try to understand that this selector will select every element including head, body etc.

<html>
<head>
<title>The Selecter Example</title>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
/* This would select all the elements */
$("*").css("background-color", "yellow");
});
</script>
</head>
<body>
<div class="big" id="div1">
<p>This is first division of the DOM.</p>
</div>
<div class="medium" id="div2">
<p>This is second division of the DOM.</p> </div>
<div class="small" id="div3">
<p>This is third division of the DOM</p>
</div>
</body>
</html>

This will produce the following result:

This is first division of the DOM.


This is second division of the DOM.


This is third division of the DOM


jQuery - Multiple Elements Selector

Description

This Multiple Elements selector selects the combined results of all the specified selectors E, F or G.

You can specify any number of selectors to combine into a single result. Here order of the DOM elements in the jQuery object aren't necessarily identical.

Syntax

Here is the simple syntax to use this selector −

$('E, F, G,....')

Parameters

Here is the description of all the parameters used by this selector −
  • E − Any valid selector
  • F − Any valid selector
  • G − Any valid selector
Returns

Like any other jQuery selector, this selector also returns an array filled with the found elements.

Example
  • $('div, p') − selects all the elements matched by div or p.
  • $('p strong, .myclass') − selects all elements matched by strong that are descendants of an element matched by p as well as all elements that have a class of myclass.
  • $('p strong, #myid') − selects a single elements matched by strong that is descendant of an element matched by p as well as element whose id is myid.
Following example would select elements with class ID big and element with ID div3 and will apply yellow color to its background −

<html>
<head>
<title>The Selecter Example</title>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$(".big, #div3").css("background-color", "yellow");
});
</script>
</head>
<body>
<div class="big" id="div1">
<p>This is first division of the DOM.</p>
</div>
<div class="medium" id="div2">
<p>This is second division of the DOM.</p>
</div>
<div class="small" id="div3">
<p>This is third division of the DOM</p>
</div>
</body>
</html>

This will produce the following result:

This is first division of the DOM.

This is second division of the DOM.

This is third division of the DOM


Selectors Examples

Similar to above syntax and examples, the following examples would give you understanding on using different type of other useful selectors:
S.N.Selector & Description
1$('*')
This selector selects all elements in the document.
2$("p > *")
This selector selects all elements that are children of a paragraph element.
3$("#specialID")
This selector function gets the element with id="specialID".
4$(".specialClass")
This selector gets all the elements that have the class of specialClass.
5$("li:not(.myclass)")
Selects all elements matched by <li> that do not have class="myclass".
6$("a#specialID.specialClass")
This selector matches links with an id of specialID and a class of specialClass.
7$("p a.specialClass")
This selector matches links with a class of specialClass declared within <p> elements.
8$("ul li:first")
This selector gets only the first <li> element of the <ul>.
9$("#container p")
Selects all elements matched by <p> that are descendants of an element that has an id of container.
10$("li > ul")
Selects all elements matched by <ul> that are children of an element matched by <li>
11$("strong + em")
Selects all elements matched by <em> that immediately follow a sibling element matched by .
12$("p ~ ul")
Selects all elements matched by <ul> that follow a sibling element matched by <p>.
13$("code, em, strong")
Selects all elements matched by <code> or <em> or <strong>.
14$("p strong, .myclass")
Selects all elements matched by <strong> that are descendants of an element matched by <p> as well as all elements that have a class of myclass.
15$(":empty")
Selects all elements that have no children.
16$("p:empty")
Selects all elements matched by <p> that have no children.
17$("div[p]")
Selects all elements matched by <div> that contain an element matched by <p>.
18$("p[.myclass]")
Selects all elements matched by <p> that contain an element with a class ofmyclass.
19$("a[@rel]")
Selects all elements matched by <a> that have a rel attribute.
20$("input[@name=myname]")
Selects all elements matched by <input> that have a name value exactly equal tomyname.
21$("input[@name^=myname]")
Selects all elements matched by <input> that have a name value beginning withmyname.
22$("a[@rel$=self]")
Selects all elements matched by <a> that have rel attribute value ending with self.
23$("a[@href*=domain.com]")
Selects all elements matched by <a> that have a href value containing domain.com.
24$("li:even")
Selects all elements matched by <li> that have an even index value.
25$("tr:odd")
Selects all elements matched by <tr> that have an odd index value.
26$("li:first")
Selects the first <li> element.
27$("li:last")
Selects the last <li> element.
28$("li:visible")
Selects all elements matched by <li> that are visible.
29$("li:hidden")
Selects all elements matched by <li> that are hidden.
30$(":radio")
Selects all radio buttons in the form.
31$(":checked")
Selects all checked boxes in the form.
32$(":input")
Selects only form elements (input, select, textarea, button).
33$(":text")
Selects only text elements (input[type=text]).
34$("li:eq(2)")
Selects the third <li> element.
35$("li:eq(4)")
Selects the fifth <li> element.
36$("li:lt(2)")
Selects all elements matched by <li> element before the third one; in other words, the first two <li> elements.
37$("p:lt(3)")
Selects all elements matched by <p> elements before the fourth one; in other words the first three <p> elements.
38$("li:gt(1)")
Selects all elements matched by <li> after the second one.
39$("p:gt(2)")
Selects all elements matched by <p> after the third one.
40$("div/p")
Selects all elements matched by <p> that are children of an element matched by <div>.
41$("div//code")
Selects all elements matched by <code>that are descendants of an element matched by
.
42$("//p//a")
Selects all elements matched by <a> that are descendants of an element matched by <p>
43$("li:first-child")
Selects all elements matched by <li> that are the first child of their parent.
44$("li:last-child")
Selects all elements matched by <li> that are the last child of their parent.
45$(":parent")
Selects all elements that are the parent of another element, including text.
46$("li:contains(second)")
Selects all elements matched by <li> that contain the text second.
You can use all the above selectors with any HTML/XML element in generic way. For example if selector $("li:first") works for <li> element then $("p:first") would also work for <p> element.
« Previous | 1 | 2 | 3 | Next »


copyright © 2014 - all rights riserved by javatechnologycenter.com