jQuery allows you to loop through each of the selected elements using the each() method and performs some actions. It is normally used to loop through the <li>elements.
The syntax is:
$(selector).each()
In this example, include the following CSS in the heading.
<style> .bgclr{background-color:cyan; font-weight:bold; } .txtclr{color:blue; font-style: italic; } .txtclr1{color:red; font-style: italic; } .txtclr2{color:orange; font-style: italic; } .txtclr3{color:purple; font-style: italic; } </style>
The html section
<!DOCTYPE html> <html> <head> <script> $("#btn1").click(function(){ $("li").each(function(){ var myid=this.id; var mytitle=this.title; var myclss=this.class; $(this).append('<span class="bgclr">'+myid+'</span>'); $(this).append('<span class="txtclr">'+mytitle+'</span>'); }); }); </script> </head> <body> <ul> <li id="list1" class="txtclr1" title=" title1"><span>This is item1. My id is= </span> <li id="list2" class="txtclr2" title=" title2"><span>This is item2. My id is= </span> <li id="list3" class="txtclr3" title=" title3"><span>This is item3. My id is= </span> </ul> <button id="btn1">Click to show the IDs and the Title of each item</button> </body> </html>
We modified Example 18.1 a bit by using the prepend() and append() methods.
<!DOCTYPE html> <html> <head> <script> $(document).ready(function(){ $("#btn2").click(function(){ $(".txtclr").each(function(){ var myid=this.id; var mytitle=this.title; var myclss=this.class; $(this).prepend('<span class="bgclr">'+myid+'</span>'); $(this).append('<span class="txtclr2">'+mytitle+'</span>'); }); }); }); </script> </head> <body> <li id="list1" class="txtclr" title=" title1"><span> is item1. My id is= </span> <li id="list2" class="txtclr" title=" title2"><span>is item2. My id is= </span> <li id="list3" class="txtclr" title=" title3"><span>T is item3. My id is= </span> </ul> <button id="btn2">Click to show the IDs and the Title of each item</button> </body> </html>
The $,each() function is different from the $(selector).each() function. It is used to iterate over a jQuery object or an array.
In the case of an array, the callback function is passed an array index and a corresponding array value each time during the iteration.
You can break the $.each() loop at a particular iteration by making the callback function return false.
<!DOCTYPE html> <html> <head> <script> $(document).ready(function(){ $("#btn3").click(function(){ var MyArray = [ "first", "second", "third", "fourth", "fifth" ]; var MyObj = { first: 1, second: 2, third: 3, fourth: 4, fifth: 5 }; $.each( MyArray, function( i, val ) { $( "#" + val ).text( "The " + val+" number is"); //Stop the loop return ( val !== "Fourth" ); }); $.each( MyObj, function( i, val ) { $( "#" + i ).append(val); }); }); }); </script> <style> .color1 { color: blue; } .color2 { color: red; } .color3 { color: green; } .color4 { color: purple; } .color5 { color: orange; } </style> </head> <body> <ul> <li id="First" class="color1"> <li id="Second" class="color2"> <li id="Third" class="color3"> <li id="Fourth" class="color4"> <li id="Fifth" class="color5"> </ul> <button id="btn3">Click to loop through the array</button> </body> </html>
We can modify Example 18.3 by adding in some arithmetic calculations.
we introduce a variable sum to add all the numbers.
<!DOCTYPE html> <html> <head> <script> $(document).ready(function(){ $("#btn4").click(function(){ var MyArray = [ "first", "second", "third", "fourth", "fifth" ]; var MyObj = { first: 10, second: 20, third: 30, fourth: 40, fifth: 50 }; var sum=0; $.each( MyArray, function( i, val ) { $( "#" + val ).text( "The " + val+" number "); }); $.each( MyObj, function( i, val ) { $( "#" + i ).append("="+val); sum=sum+val; $("#mysum").text(sum); }); }); }); </script> </head> <body> <ul> <li id="First" class="color1"> <li id="Second" class="color2"> <li id="Third" class="color3"> <li id="Fourth" class="color4"> <li id="Fifth" class="color5"> </ul> <button id="btn3">Click to loop through the array</button> </body> </html>
The sum is
Copyright©2008 Dr.Liew Voon Kiong. All rights reserved |Contact|Privacy Policy