//创建表格
function createTable(dataT,div,c)
{
    var o = document.getElementById(div);
    var table = document.createElement("table");
    var tbody = document.createElement("tbody");
    table.border = 1;
    for(var i=0;i<dataT.Rows.length;i++)
    {
        var tr = document.createElement("tr");
        var row = dataT.Rows[i];
        
            var td = document.createElement("td");
            td.innerHTML = row[c[0]];
            td.style.color = "#FF0000";
            
            var td1 = document.createElement("td");
            td1.innerHTML = row[c[1]];
            td1.style.color = "#FF0000";
            
            var td2 = document.createElement("td");
            td2.innerHTML = row[c[2]];
            td2.style.color = "#FF0000";
            
             ....            这儿假设有多个列,一直写
            
            tr.appendChild(td);
            tr.appendChild(td1);
            tr.appendChild(td2);
            
        tbody.appendChild(tr); 
    }
    table.appendChild(tbody);
    o.appendChild(table);
}我的意思是如何做一个  可被复用的 创建表格的js... createTable比如在外面传入列名 如: var cells = ["id","name","nickName","summary",""];
               在外面调用 createTable(dataT,div,c,cells);
就行了。。
对JS刚开始学习。在线等。。

解决方案 »

  1.   

    <table id="otbl">
    </table>
    <script type="text/javascript">
    <!--
    function createTable(table, row) 

    var otbody = document.getElementById(table).tBodies[0];
    for(var i = 0; i < row.length; i++){
    var orow = otbody.insertRow(i);
    for(var j = 0; j < row[i].length; j++){
    var ocell = orow.insertCell(j);
    ocell.innerHTML = row[i][j];
    }
    }
    }  var arr = [
    [1,2,3,4],
    [5,6,7,8],
    ['a','b','c','d']
    ]; createTable('otbl', arr);//-->
    </script>
      

  2.   


    <script>
    function createTable(dataT,div,c) 

        var o = document.getElementById(div); 
        var table = document.createElement("table"); 
        var tbody = document.createElement("tbody"); 
        table.border = 1; 
        for(var i=0;i <dataT.Rows.length;i++) 
        { 
            var tr = document.createElement("tr"); 
            var row = dataT.Rows[i]; 
            for(x in c){
                var td = document.createElement("td"); 
                td.innerHTML = row[c[x]];
                td.style.color = "#FF0000"; 
                tr.appendChild(td); 
            }
            tbody.appendChild(tr); 
        } 
        table.appendChild(tbody); 
        o.appendChild(table); 
        

    function doit(){
    var cells = ["id","name","nickName","summary"];
    var dataT={Rows:[]};
    dataT.Rows[0] = {id:1,name:'11',nickName:'11',summary:'11'}
    dataT.Rows[1] = {id:2,name:'22',nickName:'222',summary:'2222'}
        createTable(dataT,"pad",cells);
    }
    </script>
    <input type="button" onclick="doit()">
    <div id="pad"></div>
      

  3.   

    hookee
      你好,那在这一段JS中要是table存在了,要怎么写function createTable(dataT,div,c) 

        var o = document.getElementById(div); 
        var table = document.getElementById("table"); 
        如果 table 不存在,就创建。
         ...
        这样也行,把table清空内容就是了.?
    不知道怎么写.
        
      

  4.   

    那就要在创建table的时候给table一个id,当你重复创建时,先判断一下,document.getElementById("table1")!=null
    如果是不等于null。说明存在了,就不要重复创建了!
    不然你是很难判断,你插入的这个table是否存在~~除非你去比对table的html代码~~
      

  5.   


    <script>
    function createTable(dataT,div,c) 

        var o = document.getElementById(div); 
        var table = document.createElement("table"); 
        var tbody = document.createElement("tbody"); 
        table.border = 1; 
        o.innerHTML = ""
        for(var i=0;i <dataT.Rows.length;i++) 
        { 
            var tr = document.createElement("tr"); 
            var row = dataT.Rows[i]; 
            for(x in c){
                var td = document.createElement("td"); 
                td.innerHTML = row[c[x]];
                td.style.color = "#FF0000"; 
                tr.appendChild(td); 
            }
            tbody.appendChild(tr); 
        } 
        table.appendChild(tbody); 
        o.appendChild(table); 
        

    function doit(){
        var cells = ["id","name","nickName","summary"];
        var dataT={Rows:[]};
        dataT.Rows[0] = {id:1,name:'11',nickName:'11',summary:'11'}
        dataT.Rows[1] = {id:2,name:'22',nickName:'222',summary:'2222'}
        createTable(dataT,"pad",cells);    
    }
    </script>
    <input type="button" onclick="doit()">
    <div id="pad"></div>
      

  6.   

        var table =document.getElementById("dataList");
        if (table ==null) {
           table = document.createElement("table");}
    ...这样要怎么写。好像有错。
      

  7.   

    var table =document.getElementById("dataList"); 这个 table 都是为null.