jquery如何把参数列严格转换成数组
如果某参数的列只有一个参数,那么each是失败,请看下面的例子
Java代码:
- <!DOCTYPE html>
- <html>
- <head>
- <style>
- p { margin: 8px; font-size:16px; }
- .selected { color:red; }
- .highlight { background:yellow; }
- </style>
- <script src="http://code.jquery.com/jquery-latest.js"></script>
- </head>
- <body>
- Hello
- and
- Goodbye
- script配合style一起实现在script修改样式。
- <script>
- var pp=3;
- var a=[pp];
- alert(a);
- $.each(pp,function(i,n){
- alert(i);
- });
- </script>
- </body>
- </html>
结果是第一次alert是3,第二次没有alert,说明pp不是数组,dom,jason等。
如何保证pp严格是数组呢,很简单var a=[pp];这一句就行了,下面我们把each里面的pp换成a,则结果是3,0,正确。注意这个中括号把pp转换成了数组。
Java代码:
- <!DOCTYPE html>
- <html>
- <head>
- <style>
- p { margin: 8px; font-size:16px; }
- .selected { color:red; }
- .highlight { background:yellow; }
- </style>
- <script src="http://code.jquery.com/jquery-latest.js"></script>
- </head>
- <body>
- Hello
- and
- Goodbye
- script配合style一起实现在script修改样式。
- <script>
- var pp=3;
- var a=[pp];
- alert(a);
- $.each(a,function(i,n){
- alert(i);
- });
- </script>
- </body>
- </html>
总结:当参数个数小于2时,要严格保证参数列为数组,严格每个都执行each操作,则需要对参数列长度是否大于2进行分别对待。