其实我想做的事情很简单。
做一个表格,可以索引到这个表格任意的某个单元格,对单元格的内容进行修改,或者将其设置为不可编辑之类的。
现在呢,由于这个表格中单元格数量比较多,要是每个单元格都用ID之类的,那就太大工作量了。有没有现成的表格组件,可以直接索引到某个单元格,类似于table.at(x,y).。这种的功能。
不需要支持AJAX,也不需要其他的高级功能比如排序、合计之类的。最好是单纯的一个JS文件,挂上就能用的。或者还有什么更简单的方法,请赐教。

解决方案 »

  1.   

    table.at(x,y)------>  tb.rows[y].cells[x]
      

  2.   

    这个是不是就是所谓的DOM刚才试了一下,用了innerHTML可以根据不同的情况生成不同的内容,
    下面只剩下一个问题:取数时,如果单元格里面是一个输入框,
    我怎么判断这里面是一个输入框,并拿到输入框里面的内容。
      

  3.   

    节点都是由类型的 根据其type属性 就可以判断,value属性取值
      

  4.   

    详细讲一下,我使用tb.rows[y].cells[x].type返回undefined
      

  5.   

    tb.rows[y].cells[x].innerHTML="<input type='text'/>";
    alert(tb.rows[y].cells[x].firstChild.value);
      

  6.   

    设一个js方法:function  at(tableId,x,y){
      return document.getElementById(tableId).rows[x-1].cells[y-1];
    }tableId为table的id
    使用方法:比方说我要取id为"tb"的table的第n行第n 列的innerHTML,那就这样:
    at(n,n).innerHTML
    按你的意思是,有两种情况
    1.td里面是纯文本,则取出全部文本
    2.td里面是input(这里是文本框),取出其value
    写个js方法:function getText(tableId,x,y)
    {
    //alert(at(tableId,x,y).childNodes[0].tagName);
      var tagName=at(tableId,x,y).firstChild.tagName;
      if(typeof tagName=="undefined")//纯文本的情况
      {
     return at(tableId,x,y).innerHTML;
     
      }else //其它情况 
      {
       return at(tableId,x,y).firstChild.value;
     
      }
    }
      

  7.   

    at方法如下,上面那个设颜色设的太乱了:function  at(tableId,x,y){
      return document.getElementById(tableId).rows[x-1].cells[y-1];
    }
      

  8.   

    恩,头一回做HTML的界面,很多东西都二呼呼的,感谢各位回帖。