利用Javascript向页面中插入TABLE,IE下无法正常显示
利用Javascript向页面中插入TABLE,IE下无法正常显示
关键字: table, appendchild, ie, firefox
在项目中偶然遇到一个怪异的问题,我要利用javascript动态的向一个DIV中插入一些个TABLE,Firefox可以正常显示,而在IE下,无论版本是6或7,均无法看到这个TABLE。但是,如果我直接把TABLE的HTML代码写在页面上,一切都能正常显示。
最开始出问题的javascript脚本如下:
Js代码
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);
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元素,问题轻松解决!
Js代码
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 
相关文档:
javascript单引号和双引号区别2009-08-27 10:13在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下:
IE提示出错后,再漫不经心地改为:
结果还是出错。
这时,我就想不通了,虽然我知道最直接的解决方法是写成这样:
但为什么javascript中的转义字符\没有效果了呢 ......
• 小写金额与大写金额联动
<mce:script language="JavaScript"><!--
function daxie()
{
this.values = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"];
this.digits = ["", "拾", "佰", "仟"];
}
function daxie.prototype.getdx(num)
{
if(isNaN(num)) return "";
var number = ......
/*样式*/
<style type="text/css">
td{font-size:12px;}
.item{text-decoration:none;width:100%;height:100%; line-height:22px;cursor:default;color:Black;vertical-align:middle}
.staticTab{cursor:default;height:22px}
  ......
JavaScript中的原型(prototyping) prototype属性
1.对内置对象的扩展
(String添加trim()方法)
****************
String.prototype.trim = funct ......