4. jQuery Attributes Manipulation
Most of these attributes are available through JavaScript as DOM node properties. Some of the more common properties are:
- 
    
     className
 
- 
    
     tagName
 
- 
    
     id
 
- 
    
     href
 
- 
    
     title
 
- 
    
     rel
 
- 
    
     src
 
| <img id="myImage" src="image.gif" alt="An image" class="someClass" title="This is an image"/> | 
jQuery gives us the means to easily manipulate an element's attributes 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 simple 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 is first paragraph.</em>
      <p id="myid">This is 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:
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 computed 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 matched elements. | 
| removeClass( class ) | Removes 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 element. | 
| 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 box or radio box then all the matching check box and radiobox would be checked. | 
- 
    
     $("#myID").attr("custom") : This would return value of attribute custom for the first element matching with ID myID.
 
- 
    
     $("img").attr("alt", "Sample Image"): This sets the alt attribute of all the images to a new value "Sample Image".
 
- 
    
     $("input").attr({ value: "", title: "Please enter a value" }); : 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"): Selects all links with an href attribute starting with http:// and set its target attribute to _blank
 
- 
    
     $("a").removeAttr("target") : This would remove target attribute of all the links.
 
- 
    
     $("form").submit(function() {$(":submit",this).attr("disabled", "disabled");}); : This would modify the disabled attribute to the value "disabled" while clicking Submit button.
 
- 
    
     $("p:last").hasClass("selected"): This return true if last <p> tag has associated classselected.
 
- 
    
     $("p").text(): Returns 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 checked checkbox
 
- 
    
     $("input:radio[name=bar]:checked").val(): Get the first value from a set of radio buttons
 
- 
    
     $("button").val("Hello") : Sets 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") : This would select Orange option in a dropdown box with options Orange, Mango and Banana.
 
- 
    
     $("select").val("Orange", "Mango") : This would select Orange and Mango options in a dropdown box with options Orange, Mango and Banana.
 
 
No comments :
Post a Comment
Your Comment and Question will help to make this blog better...