jquery如何把参数列严格转换成数组

如果某参数的列只有一个参数,那么each是失败,请看下面的例子

Java代码:  
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4.   <style>  
  5.   p { margin: 8px; font-size:16px; }  
  6.   .selected { color:red; }  
  7.   .highlight { background:yellow; }  
  8.   </style>  
  9.   <script src="http://code.jquery.com/jquery-latest.js"></script>  
  10. </head>  
  11. <body>  
  12.   Hello  
  13.   
  14.   and  
  15.   
  16.   Goodbye  
  17.   
  18. script配合style一起实现在script修改样式。  
  19. <script>  
  20.      var pp=3;  
  21.      var a=[pp];  
  22.      alert(a);  
  23.      $.each(pp,function(i,n){  
  24.       alert(i);  
  25.      });  
  26.  </script>  
  27.   
  28. </body>  
  29. </html>  


  结果是第一次alert是3,第二次没有alert,说明pp不是数组,dom,jason等。 
如何保证pp严格是数组呢,很简单var a=[pp];这一句就行了,下面我们把each里面的pp换成a,则结果是3,0,正确。注意这个 中括号把pp转换成了数组

Java代码:  
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4.   <style>  
  5.   p { margin: 8px; font-size:16px; }  
  6.   .selected { color:red; }  
  7.   .highlight { background:yellow; }  
  8.   </style>  
  9.   <script src="http://code.jquery.com/jquery-latest.js"></script>  
  10. </head>  
  11. <body>  
  12.   Hello  
  13.   and   
  14.   Goodbye  
  15.   
  16. script配合style一起实现在script修改样式。  
  17. <script>  
  18.      var pp=3;  
  19.      var a=[pp];  
  20.      alert(a);  
  21.      $.each(a,function(i,n){  
  22.       alert(i);  
  23.      });  
  24.  </script>  
  25.   
  26. </body>  
  27. </html>  

  总结:当参数个数小于2时,要严格保证参数列为数组,严格每个都执行each操作,则需要对参数列长度是否大于2进行分别对待。

posted @ 2013-04-01 13:33  xinyuyuanm  阅读(348)  评论(0编辑  收藏  举报