• Now Online : 61
  • admin@codemyne.net

Introduction

Some of the most basic components we can manipulate. When it comes to DOM elements are the properties and attribute assigned to those elements. Most of the attributes are available through javascript as DOM node properties. Some of the more common properties are:

  • class name
  • tag name
  • title
  • id
  • href
  • src
  • rel

Consider the following HTML markup for an image element:

<img id=”myImage” src=”image.gif” alt=”An Image” class=”someClass” Title=”This is an image”/>

In this element’s markup, the tag name is img, and the markup for id, src, alt, class, and title represents the elements attribute, each of which consists of a name and a value. JQuery gives us the means to easily manipulate an element’s attribute and gives us access to the element so that we can also change its properties.

Get Attribute Value:

The attr() method can be used to either fetch the value of an attribute from the first element in the matched set or set attribute values onto all matched elements.

Example:

Following is a example which fetches title attribute of <em> tag and set <div id=”divid”> value with the same value:

<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 title=$(“em”).attr(“title”);
    $(“#divid”).text(title);
});
</script>
</head>
<body>
<div>
<em title=”Bold and Brave”>This isa first paragraph.</em>
<p id=”myid”>This isa second paragraph</p>
<div id=”divid”></div>
</div>
</body>
</html>

Set Attribute Value:

The attr(name, value) method can be used to set the named attribute onto all elements in the wrapped set using the passed value.

Example:

Following is a simple example which set src attribute of an image tag to a correct location:

<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(){
$(“#myimg”).attr(“src”, “/images/jquery.jpg”);
});
</script>
</head>
<body>
<div>
<img id=”myimg” src=”/wongpath.jpg” alt=”sample  image”/>
</div>
</body>
</html>

Applying styles:

The addClass( classes ) method can be used to apply defined style sheets onto all the matched elements. You can specify multiple classes separated by space.

Example:

Following is a simple example which set src attribute of an image tag to a correct location.

<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(){
$(“em”).addclass(“selected”);
$(“myid”).addclass(“highlight”);
});
</script>
<style>
.selected { color:red; }
.highlight{ background:yellow; }
</style>
</head>
<body>
<em title=”Bold and Brave ”>This is first paragraph.</em>
<p id=”myid”> This is second paragraph.</p> 
</body>
</html>

Useful Attribute Methods explained in a cheat sheet:

Following table lists down few useful methods which you can use to manipulate attributes and properties:

Methods Description
attr(properties) Set a key/value object as properties to all matched elements.
attr(key, fn) Set a single property to a complete value, on all matched elements.
removeAttr(name) Remove an attribute from each of the matched elements.
hasClass(class) Returns true if the, specified class is present on at least one of the set of of matched elements.
removeClass(class) Remove all or the specified class(es) from the set of matched elements.
toggleClass(class) Adds the specified class if it is not present, removes the specified class if it is present
html() Get the html contents (innerHTML) of the first matched element.
html(val) Set the html contents of every matched elements.
text() Get the combined text contents of all matched elements.
text(val) Set the text contents of all matched elements.
val() Get the input value of the first matched element.
val(val) Set the value attribute of every matched element if it is called on <input> but if it is called on <select> with the passed <option> value then passed option would be selected, if it is called on check bor or radio box then all the matching check box and radiobox would be checked.

Similar to above syntax and examples, following examples would give you understanding on using various attribute methods in different situation:

$(“#myID”).attr(“custom”):
It returns a value of attribute custom for the first element matching with ID myID.

$(“img”).attr(“alt”, “Sample Image”):
It sets the alt attribute of all the images to a new value “sample image”.

$(“input”).attr({value:””,title: ”please enter a value”}); :
It sets the value of all <input> elements to the empty string, as well as sets the title to the string Please enter a value.

$(“a[href^=http://]”).attr(“target”,”_blank”):
It selects all links with an href attribute starting with http:// and set its target attribute to _blank

$(“a”).removeAttr(“target”):
It removes target attribute of all the links.

$(“form”).submit(function() {$(“:submit”,this).attr(“disabled”,”disabled”);}); :
It modifies the disabled attribute to the value “disabled” while clicking submit button.

$(“p:last”).hasClass(“selected”):
It returns true if last <p> tag has associated classselected.

$(“p”).text():
Return string that contains the combined text contents of all matched <p> elements.

$(“p”).text(“<i>Hello World</ i>”):
This would set ”<i>Hello World</i>” as text content of the matching <p> elements.

$(“p”).html():
This returns the HTML content of the all matching paragraphs.

$(“div”).html(“Hello World”):
This would set the HTML content of all matching <div> to Hello World.

$(“input:checkbox:checked”).val():
Get the first value from a set of radio buttons

$(“input:radio[name=bar]:checked”).val():
Get the first value from a set of radio buttons

$(“button”).val(“Hello”):
Set the value attribute of every matched element <button>.

$(“input”).val(“on”):
This would check all the radio or check box button whose value is ”on”.

$(“select”).val(“Orange”, ”Mango”):
This would select Orange and Mango options in a dropdown box with options Orange, Mango and Banana.

Comments/Suggestions are invited. Happy coding......!

Comments Post a Comment