当点击每个DIV时,执行myarray()函数;返回数组名等于该DIV的ID值的组数内容。如alert(pik.length)弹出的是数组的长度而不是字符串的长度
<html>   
<head>
<script>window.onload=function(){pikfn()}</script>   
</head>       
<body>   
<script>  
var pik;
(function myarray(){
name1=["obj1","obj2"],name2=["obj4","obj5","obj6"],name3=["obj5","obj6","obj7","obj8"];
pik=name1;
alert(pik.length)
})()
function pikfn(){div=document.getElementsByTagName("div");
       for(var i=0; i<div.length; i++){
              div[i].onclick=function(){pik=this.id;alert(pik.length)//当点击每个DIV时,执行myarray()函数;返回数组名等于该DIV的ID值的组数内容。如alert(pik.length)弹出的是数组的长度而不是字符串的长度
              }
       }
}</script>
<div id="name1" style="width:50px;height:30px;background:#ff0000;margin:10px;" ></div>
<div id="name2" style="width:50px;height:30px;background:#ff0000;margin:10px;" ></div>
<div id="name3" style="width:50px;height:30px;background:#ff0000;margin:10px;" ></div> </body>   
</html>

解决方案 »

  1.   


    <html>   
    <head>
    <script>window.onload=function(){pikfn()}</script>   
    </head>       
    <body>   
    <script>  
    var pik;
    (function myarray(){
    name1=["obj1","obj2"],name2=["obj4","obj5","obj6"],name3=["obj5","obj6","obj7","obj8"];
    pik=name1;
    alert(pik.length)
    })()function pikfn(){
    div=document.getElementsByTagName("div");
        for(var i=0; i<div.length; i++){
            div[i].onclick=function(){
             pik=this.id;
             alert(eval(pik).length);//当点击每个DIV时,执行myarray()函数;返回数组名等于该DIV的ID值的组数内容。如alert(pik.length)弹出的是数组的长度而不是字符串的长度
            }
        }
    }</script>    
    <div id="name1" style="width:50px;height:30px;background:#ff0000;margin:10px;" ></div>    
    <div id="name2" style="width:50px;height:30px;background:#ff0000;margin:10px;" ></div>        
    <div id="name3" style="width:50px;height:30px;background:#ff0000;margin:10px;" ></div>    </body>   
    </html>