匿名関数クローズド

943 ワード

今日はすごいバックグランドプログラマーが教えてくれました.
 1 <body>

 9   <ul id="aa">

10     <li>aa</li>

11     <li>bb</li>

12     <li>cc</li>

13     <li>dd</li>

14   </ul>

15 <script>

16 for(var i=0; i<document.getElementById("aa").getElementsByTagName("li").length; i++){

17  (function(i){ 

18     document.getElementById("aa").getElementsByTagName("li")[i].onclick=function(){

19            //(function(i))(i);

20       alert(i);

21       alert(document.getElementById("aa").getElementsByTagName("li")[i].innerHTML);           

22         }            

23      })(i); 

24 }

25 </script>

26 </body>
liにIDをつけなくても番号が取れるということは、JSはやはり面白いものです.