`
tailsherry
  • 浏览: 136169 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

利用Javascript向页面中插入TABLE,IE下无法正常显示

阅读更多

在项目中偶然遇到一个怪异的问题,我要利用javascript动态的向一个DIV中插入一些个TABLE,Firefox可以正常显示,而在IE下,无论版本是6或7,均无法看到这个TABLE。但是,如果我直接把TABLE的HTML代码写在页面上,一切都能正常显示。

 

最开始出问题的javascript脚本如下:

var div = document.getElementById("container");    
var table = document.createElement("table");    
div.appendChild(table);    
var tr = document.createElement("tr");    
table.appendChild(tr);    
var td = document.createElement("td");    
tr.appendChild(td);   
 

乍一看,代码比较干净,为什么在IE下就无法显示呢?其实,问题就出在IE的遍历页面中JS构造的DOM元素的时候,是一个按DOM树结构寻址的。如果漏掉了TABLE的TBODY元素,IE是无法显示这个TABLE的,中间加入一个TBODY元素,问题轻松解决!

var div = document.getElementById("container");    
var table = document.createElement("table");    
div.appendChild(table);    
var body = document.createElement("tbody");    
table.appendChild(body);    
var tr = document.createElement("tr");    
body.appendChild(tr);    
var td = document.createElement("td");    
tr.appendChild(td);   

分享到:
评论
8 楼 floys1987 2010-03-04  
谢谢,谢谢,太感谢了
7 楼 gyj129129 2009-05-21  
含泪感谢
6 楼 bennycompile 2008-11-13  
谢谢你,帮了我好大的忙
5 楼 aotianlong 2008-11-04  
多谢,我快被IE搞死了。
4 楼 redasurc 2008-08-06  
柳暗花明,感谢
3 楼 anlongstar 2008-03-24  
不错,正在搞这个东西,多谢了
2 楼 Jason.He 2008-03-12  
  

受用,谢谢!
1 楼 zhanzhenguo123 2007-12-30  

相关推荐

    漂亮的将后台数据成表格显示到HTML页面中

    本案例中,我们关注的是如何利用XML作为数据传输格式,并通过JavaScript来动态创建表格。下面将详细阐述这一过程。 首先,XML(Extensible Markup Language)是一种用于标记数据的语言,它允许我们结构化地表示数据...

    javascript动态添加表格数据行

    这个功能允许用户在不刷新整个页面的情况下添加新的记录,提高了用户体验。在这个例子中,我们将探讨如何利用JavaScript在HTML表格中实现动态添加行,并将数据提交到服务器进行存储。 首先,我们需要创建一个基本的...

    上下左右键控制table中光标(兼容多浏览器)

    本文将详细讲解如何使用JavaScript实现输入框内上下左右键以及Enter键控制表格(table)中的光标移动,并在光标到达最后一个输入框时新增一行,确保这个功能在多个浏览器中都能正常工作。 首先,我们需要理解...

    jquery appen table 问题 ie8下解决方法

    本文将深入探讨“jquery append table问题在IE8下的解决方法”,结合给出的标签“源码”和“工具”,我们来详细讨论这个问题。 在jQuery中,`append()`函数是一个非常常用的方法,它允许我们在DOM(Document Object...

    jQuery Table表格排序显示代码.zip

    本资源“jQuery Table表格排序显示代码.zip”聚焦于利用jQuery实现动态表格排序的功能,这对于数据展示和用户交互至关重要。下面将详细阐述相关知识点。 1. **jQuery基础**:首先,理解jQuery的基础是至关重要的。...

    JavaScript Table行定位效果

    然后再插入到新table中: if(this._nTable.firstChild){ this._nTable.replaceChild(nT, this._nTable.firstChild); }else{ this._nTable.appendChild(nT); } 因为程序允许修改克隆的tr,所以会判断有没有插入过...

    5种做法实现table表格中的斜线表头效果

    在Web开发中,表格(table)是展示数据的基础元素。为了提高视觉效果,有时需要在表格表头中添加斜线来区隔不同的表头内容。实现斜线表头有多种方法,下面将详细介绍这五种方法的实现原理和适用场景。 1. 图片背景...

    程序天下:JavaScript实例自学手册

    9.36 使用JavaScript向表格中写入数据 9.37 类C# GridView的编辑效果(一) 9.38 类C# GridView的编辑效果(二) 第10章 单选框和复选框 10.1 选择了哪一个单选框 10.2 单击文字实现单选框的选定 10.3 被选中的复选...

    JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐) .zip

    本示例主要讲解如何使用JavaScript读取XML文件,并在浏览器环境中,无论是在Internet Explorer(IE)还是Firefox等其他浏览器上,以表格(table)的形式展示这些数据。以下是一种实现方法: 首先,我们需要了解XML...

    《程序天下:JavaScript实例自学手册》光盘源码

    9.36 使用JavaScript向表格中写入数据 9.37 类C# GridView的编辑效果(一) 9.38 类C# GridView的编辑效果(二) 第10章 单选框和复选框 10.1 选择了哪一个单选框 10.2 单击文字实现单选框的选定 10.3 被选中的复选...

    table动态添加行并编辑

    使用JavaScript,我们可以根据需求在运行时动态地向表格中添加行。通常涉及以下步骤: 1. 获取表格对象:通过DOM(Document Object Model)接口,如`document.getElementById`或`document.querySelector`来获取`...

    IE6-IE9使用JSON、table[removed]所引发的问题

    在Firefox等其他浏览器中,`innerHTML`通常可以正常工作,但在IE的兼容模式下,尝试更改`table`、`thead`、`tfoot`、`tbody`、`tr`、`col`、`colgroup`、`html`、`title`、`style`、`frameset`等元素的`innerHTML`时...

    DIV+CSS绿化版IE6

    - **Eolas专利问题**:IE6存在一个名为Eolas的插件交互专利问题,可能导致网页中嵌入的Flash、Java Applet等无法正常交互,需要应用补丁或更新来解决。 4. **JavaScript库**:如`DD_belatedPNG`,这类库用于增强...

    JavaScript模拟select

    - **兼容性处理**:为了确保代码能够在不同版本的IE浏览器中正常运行,开发者在生成隐藏的select容器时做了特殊处理。对于IE5.5以下版本,不会生成`<iframe>`元素,这是因为早期版本的IE可能无法正确支持`<iframe>`...

    table的td整列拖动交换以及重新排列位置

    在JavaScript中,我们可以利用DOM(Document Object Model)接口来操作这些元素,包括获取、修改和删除等。 1. **事件监听**: 实现拖动功能的关键在于对鼠标事件的监听。我们需要绑定`mousedown`(鼠标按下)、`...

    javascript动态操作表格

    使用JavaScript,我们可以动态创建这些元素并插入到文档中。例如: ```javascript // 创建一个新的表格 var table = document.createElement('table'); // 创建一行 var row = document.createElement('tr'); // ...

    开发跨浏览器JavaScript时要注意的问题

    当创建HTML表格时,一些现代浏览器(如Chrome、Firefox等)允许直接向`<table>`元素添加`<tr>`元素,但在Internet Explorer(尤其是较老版本的IE)中,这种做法会导致渲染问题。为了解决这一问题,应始终使用`...

Global site tag (gtag.js) - Google Analytics