var div = new Array();
for (i = 0; i < 1; i++)
   {
  div[i] = new Array();
   for ( j = 0; j < 1; j++)
   {
   (div[i][j])) =  
      }
   }
我想用上边的程序取得图层的id,但是不成功用alert(弹出的字符和图层的id是一样的,但是用alert(document.getElementById(div[i][j]))弹出的确是“null”,程序就是不把我构造的这一串"layer3"+i+j当作id来识别?
请帮帮忙!!

解决方案 »

  1.   

    不会的,是可以识别的,看看是不是(div[i][j])) = 这后面等于了什么,
    还有注意下执行顺序
      

  2.   

    我上面写错了循环中(div[i][j])) =  这一行后面还有"layer3"+i+j,应该是这样
    var div = new Array();
    for (i = 0; i < 1; i++)
       {
      div[i] = new Array();
       for ( j = 0; j < 1; j++)
       {
       (div[i][j])) = "layer3"+i+j; 
          }
       }我用数组构造了一个字符串"layer3"+i+j,想在后面的程序中把它当作id用,但是不行
      

  3.   

    你确定你的页面中存在如 layer300 这样的元素?
    是不是你的元素命名中有其他东西?而且你这样的命名一般是有问题的,出错的几率比较大,命名采用
    layer3_i_j
    这样的形式可能更好。
      

  4.   

    (div[i][j])) 多了一个括号,注:问题也很有可能出在其他地方的
      

  5.   

    (div[i][j])) = eval("layer3"+i+j);
      

  6.   

    (div[i][j]) = eval("layer3"+i+j);
      

  7.   

    div[i][j]) = eval("layer3"+i+j);