Extjs dom和Ext.Element创建问题

时间:2011-05-06 13:07:18

标签: dom extjs

我使用Ext.element创建元素,如下所示:

var table = new Ext.Element(document.createElement('table'));

    for(n=0;n<5;n++)
    {
        row = new Ext.Element(document.createElement('tr'));
        for(x=0;x<4;x++)
        {
            col = new Ext.Element(document.createElement('td'));
            col.update('cell text '+x);    
            row.appendChild(col);
        }
        table.appendChild(row);
    }

    Ext.fly('data').replaceWith(table);

这适用于我的FF,但不适用于IE,为什么会这样?

3 个答案:

答案 0 :(得分:1)

以下代码在IE8中使用ExtJS 3.3

var table = new Ext.Element(document.createElement('table'));

for(n=0;n<5;n++)
{
    var row = new Ext.Element(document.createElement('tr'));
    for(x=0;x<4;x++)
    {
        var col = new Ext.Element(document.createElement('td'));
        col.update('cell text '+x);    
        row.appendChild(col);
    }
    table.appendChild(row);
}

Ext.fly('data').replaceWith(table);

答案 1 :(得分:1)

尝试使用Ext.DomHelper创建DOM元素并使用它们。在Ext API文档中查看DomHelper并按照tutorial进行操作。

答案 2 :(得分:0)

这是一篇旧帖子,但对于那些仍在寻找答案的人,请查看下面的代码,它应该在IE中正常工作。

var table = new Ext.Element(document.createElement('table'));
var tbody = new Ext.Element(document.createElement('tbody'));
for(n=0;n<5;n++)
{
    var row = new Ext.Element(document.createElement('tr'));
    for(x=0;x<4;x++)
    {
        var col = new Ext.Element(document.createElement('td'));
        col.update('cell text '+x);    
        row.appendChild(col);
    }
    tbody.appendChild(row);
}
table.appendChild(tbody);

Ext.fly('data').replaceWith(table);