7. jQuery DOM manipulation
JQuery provides methods such as .attr(), .html(), and .val() which act as getters, retrieving information from DOM elements for later use.
Content Manipulation:
The html( ) method gets the html contents (innerHTML) of the first matched element.Here is the syntax for the method:
selector.html( )
Example:
Following is an example which makes use of .html() and .text(val) methods. Here .html() retrieves HTML content from the object and then .text( val ) method sets value of the object using passed parameter:<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() { $("div").click(function () { var content = $(this).html(); $("#result").text( content ); }); }); </script> <style> #division{ margin:10px;padding:12px; border:2px solid #666; width:60px; } </style> </head> <body> <p>Click on the square below:</p> <span id="result"> </span> <div id="division" style="background-color:blue;"> This is Blue Square!! </div> </body> </html>
DOM Element Replacement:
You can replace a complete DOM element with the specified HTML or DOM elements. The replaceWith( content ) method serves this purpose very well.Here is the syntax for the method:
selector.replaceWith( content ) |
Example:
Following is an example which would replace division element with "<h1>JQuery is Great</h1>":<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() { $("div").click(function () { $(this).replaceWith("<h1>JQuery is Great</h1>"); }); }); </script> <style> #division{ margin:10px;padding:12px; border:2px solid #666; width:60px; } </style> </head> <body> <p>Click on the square below:</p> <span id="result"> </span> <div id="division" style="background-color:blue;"> This is Blue Square!! </div> </body> </html>
Removing DOM Elements:
There may be a situation when you would like to remove one or more DOM elements from the document. JQuery provides two methods to handle the situation.The empty( ) method remove all child nodes from the set of matched elements where as the method remove( expr ) method removes all matched elements from the DOM.
Here is the syntax for the method:
selector.remove( [ expr ]) or selector.empty( ) |
Example:
Following is an example where elements are being removed as soon as they are clicked:<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() { $("div").click(function () { $(this).remove( ); }); }); </script> <style> .div{ margin:10px;padding:12px; border:2px solid #666; width:60px; } </style> </head> <body> <p>Click on any square below:</p> <span id="result"> </span> <div class="div" style="background-color:blue;"></div> <div class="div" style="background-color:green;"></div> <div class="div" style="background-color:red;"></div> </body> </html>
Inserting DOM elements:
There may be a situation when you would like to insert new one or more DOM elements in your existing document. JQuery provides various methods to insert elements at various locations.The after( content ) method insert content after each of the matched elements where as the method before( content ) method inserts content before each of the matched elements.
Here is the syntax for the method:
selector.after( content ) or selector.before( content ) |
Example:
Following is an example where <div> elements are being inserted just before the clicked element:<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() { $("div").click(function () { $(this).before('<div class="div"></div>' ); }); }); </script> <style> .div{ margin:10px;padding:12px; border:2px solid #666; width:60px; } </style> </head> <body> <p>Click on any square below:</p> <span id="result"> </span> <div class="div" style="background-color:blue;"></div> <div class="div" style="background-color:green;"></div> <div class="div" style="background-color:red;"></div> </body> </html>
DOM Manipulation Methods:
Following table lists down all the methods which you can use to manipulate DOM elements:Method | Description |
---|---|
after( content ) | Insert content after each of the matched elements. |
append( content ) | Append content to the inside of every matched element. |
appendTo( selector ) | Append all of the matched elements to another, specified, set of elements. |
before( content ) | Insert content before each of the matched elements. |
clone( bool ) | Clone matched DOM Elements, and all their event handlers, and select the clones. |
clone( ) | Clone matched DOM Elements and select the clones. |
empty( ) | Remove all child nodes from the set of matched elements. |
html( val ) | Set the html contents of every matched element. |
html( ) | Get the html contents (innerHTML) of the first matched element. |
insertAfter( selector ) | Insert all of the matched elements after another, specified, set of elements. |
insertBefore( selector ) | Insert all of the matched elements before another, specified, set of elements. |
prepend( content ) | Prepend content to the inside of every matched element. |
prependTo( selector ) | Prepend all of the matched elements to another, specified, set of elements. |
remove( expr ) | Removes all matched elements from the DOM. |
replaceAll( selector ) | Replaces the elements matched by the specified selector with the matched elements. |
replaceWith( content ) | Replaces all matched elements with the specified HTML or DOM elements. |
text( val ) | Set the text contents of all matched elements. |
text( ) | Get the combined text contents of all matched elements. |
wrap( elem ) | Wrap each matched element with the specified element. |
wrap( html ) | Wrap each matched element with the specified HTML content. |
wrapAll( elem ) | Wrap all the elements in the matched set into a single wrapper element. |
wrapAll( html ) | Wrap all the elements in the matched set into a single wrapper element. |
wrapInner( elem ) | Wrap the inner child contents of each matched element (including text nodes) with a DOM element. |
wrapInner( html | Wrap the inner child contents of each matched element (including text nodes) with an HTML structure. |
No comments:
Post a Comment
Your Comment and Question will help to make this blog better...