Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用javascript创建表_Javascript_Html_Html Table - Fatal编程技术网

用javascript创建表

用javascript创建表,javascript,html,html-table,Javascript,Html,Html Table,我正在尝试用javascript创建一个表。我有下面的代码- function resultCreate(){ var tbl = document.createElement('table'); tbl.style.width = '500px'; tbl.style.marginTop = '30px'; tbl.style.border = '1px solid black'; for(var i=0;i<6;i++){ var

我正在尝试用javascript创建一个表。我有下面的代码-

function resultCreate(){
    var tbl = document.createElement('table');
    tbl.style.width = '500px';
    tbl.style.marginTop = '30px';
    tbl.style.border = '1px solid black';
    for(var i=0;i<6;i++){
        var tr = tbl.insertRow();
        tr.style.border = '1px sold black';
        for(var j=0;j<6;j++){
            if(i === 0 && (j === 3 || j === 4 || j === 5)){
                break;
            }

            else if(i === 1 && (j === 0 || j === 1)){
                var td = tr.insertCell();
                td.style.border = '1px sold black';
            }

            else{
                var td = tr.insertCell();
                td.appendChild(document.createTextNode('hello'));
                td.style.border = '1px sold black';
                if(i === 0 && j === 2){ 
                    td.setAttribute('colSpan', '4');
                }
                if(i === 2 && j === 0){
                    td.setAttribute('rowSpan', '4');
                }
            }
        }
    }
    body.appendChild(tbl);
}

resultCreate();
但它会删除除第一列之外的整个第三、第四和第五行

整个代码如下所示-

function resultCreate(){
    var tbl = document.createElement('table');
    tbl.style.width = '500px';
    tbl.style.marginTop = '30px';
    tbl.style.border = '1px solid black';
    for(var i=0;i<6;i++){
        var tr = tbl.insertRow();
        tr.style.border = '1px sold black';
        for(var j=0;j<6;j++){
            if(i === 0 && (j === 3)){
                break;
            }
            else if((i == 3 && j == 0) || (i == 4 && j == 0) || (i == 5 && j == 0)){
                break;
            }
            else if(i === 1 && (j === 0 || j === 1)){
                var td = tr.insertCell();
                td.style.border = '1px sold black';
            }

            else{
                var td = tr.insertCell();
                td.appendChild(document.createTextNode('hello'));
                td.style.border = '1px sold black';
                if(i === 0 && j === 2){ 
                    td.setAttribute('colSpan', '4');
                }
                if(i === 2 && j === 0){
                    td.setAttribute('rowSpan', '4');
                }
            }
        }
    }
    body.appendChild(tbl);
}

resultCreate();

函数resultCreate(){
var tbl=document.createElement('table');
tbl.style.width='500px';
tbl.style.marginTop='30px';
tbl.style.border='1px纯黑';
对于(var i=0;i尝试以下方法:

  function resultCreate(){
        var tbl = document.createElement('table');
        tbl.style.width = '500px';
        tbl.style.marginTop = '30px';
        tbl.style.border = '1px solid black';
        for(var i=0;i<6;i++){
            var tr = tbl.insertRow();
            tr.style.border = '1px sold black';
            for(var j=0;j<6;j++){
                if(i === 0 && (j === 3 || j === 4 || j === 5)){
                    break;
                }
                else if( i > 2 && j === 5){
                    break;
                }
                else if(i === 1 && (j === 0 || j === 1)){
                    var td = tr.insertCell();
                    td.style.border = '1px sold black';
                }

                else{
                    var td = tr.insertCell();
                    td.appendChild(document.createTextNode('hello'));
                    td.style.border = '1px sold black';
                    if(i === 0 && j === 2){ 
                        td.setAttribute('colSpan', '4');
                    }
                    if(i === 2 && j === 0){
                        td.setAttribute('rowSpan', '4');
                    }

                }
            }
        }
        body.appendChild(tbl);
    }

    resultCreate();
函数resultCreate(){
var tbl=document.createElement('table');
tbl.style.width='500px';
tbl.style.marginTop='30px';
tbl.style.border='1px纯黑';
对于(var i=0;i,如下面所示,colspan=4的“i==2,j==0”会占用空间,因此“i==3->5,j==0”会推入第二列,因此在末尾会产生一个额外的列

函数resultCreate(){
var tbl=document.createElement('table');
tbl.style.width='500px';
tbl.style.marginTop='30px';
tbl.style.border='1px纯黑';

对于(var i=0;我请编辑您的问题,并使用代码段来生成一个完全可复制的问题。您还可以将(j==3 | | j==4 | | j==5)更改为(j>2),非常感谢。如果这不是问题,您能告诉我代码中哪里出错了吗?“试试这个”对于OP以外的任何人都没有什么帮助。请描述您更改了什么以及为什么。第一个if的逻辑是在j>2时不添加任何元素,因为第三个元素更大。使用相同的逻辑,我添加了if-else,以便在第四行和第四行以下不添加任何元素,因为第一个位置被“更大”占据第三行的第一个元素
  function resultCreate(){
        var tbl = document.createElement('table');
        tbl.style.width = '500px';
        tbl.style.marginTop = '30px';
        tbl.style.border = '1px solid black';
        for(var i=0;i<6;i++){
            var tr = tbl.insertRow();
            tr.style.border = '1px sold black';
            for(var j=0;j<6;j++){
                if(i === 0 && (j === 3 || j === 4 || j === 5)){
                    break;
                }
                else if( i > 2 && j === 5){
                    break;
                }
                else if(i === 1 && (j === 0 || j === 1)){
                    var td = tr.insertCell();
                    td.style.border = '1px sold black';
                }

                else{
                    var td = tr.insertCell();
                    td.appendChild(document.createTextNode('hello'));
                    td.style.border = '1px sold black';
                    if(i === 0 && j === 2){ 
                        td.setAttribute('colSpan', '4');
                    }
                    if(i === 2 && j === 0){
                        td.setAttribute('rowSpan', '4');
                    }

                }
            }
        }
        body.appendChild(tbl);
    }

    resultCreate();