IE9 Javascript生成表

IE9 Javascript生成表,javascript,internet-explorer-9,Javascript,Internet Explorer 9,嗨,我只有IE9有问题 我有一个Javascript循环,首先生成一个表 var TABLE = widget.body.getElementsByClassName('classroom')[0]; var TBODY = widget.createElement('tbody'); //generate rows & Cells, 10 x 10 var cID = 0; for (var r=0; r<10; r+

嗨,我只有IE9有问题

我有一个Javascript循环,首先生成一个表

   var TABLE = widget.body.getElementsByClassName('classroom')[0];
   var TBODY = widget.createElement('tbody');

        //generate rows & Cells, 10 x 10
        var cID = 0;
        for (var r=0; r<10; r++) {
            var TR = widget.createElement('tr'); 
              for (var c=0; c<10; c++) {  
                    var TD = widget.createElement('td');
                    //TD.id="c"+cID;
                    TD.setAttribute("class",'c'+cID);
                    TD.setAttribute("id",'c'+cID);
                    TD.setAttribute("style","width:90px;");
                    TD.setAttribute("style","height:90px;");
                    cID++;
                    TR.appendChild(TD);
                }
                TBODY.appendChild(TR);
         }
         TABLE.appendChild(TBODY);
var TABLE=widget.body.getElementsByClassName(“教室”)[0];
var TBODY=widget.createElement('TBODY');
//生成行和单元格,10 x 10
var-cID=0;

对于(var r=0;r是否有任何特殊原因不使用jQuery模板或Handlebar(或任何其他模板库)来帮助您进行动态生成

我认为IE的问题是,除非标记中有TBODY元素,否则默认情况下它不会创建TBODY元素。我认为其他浏览器如果不存在该元素,则会隐式创建该元素


尝试在标记中手动添加tbody元素。

我刚刚尝试按类定位tbody,但仍然没有改变。当您说“在标记中手动添加tbody元素”你的意思是什么?你使用的这个小部件类是什么?我强烈建议你使用一个模板库。这可以减少你的痛苦。我在一个叫做Frog的框架内工作,它基本上是一个CMS。你也可以构建Javascript小部件。你只需将小部件放在你的函数前面。这可能是一个痛苦,因此不是你的唱外部模板。
var cell_class = cell.toString();   // it gets the cell from another loop say 'c1'
var TCell = widget.body.getElementsByClassName(cell_class)[0]; 
TCell.innerHTML="<a href='#'>image</a>"; // it fails at this point 'null or undefined'
<table id="table1" class="classroom">
                    <colgroup>
                        <col width="90" height="70"/>
                        <col width="90" height="70"/>
                        <col width="90" height="70"/>
                        <col width="90" height="70"/>
                        <col width="90" height="70"/>
                        <col width="90" height="70"/>
                        <col width="90" height="70"/>
                        <col width="90" height="70"/>
                        <col width="90" height="70"/>
                        <col width="90" height="70"/>
                    </colgroup>
                </table>