日期:2014-05-17  浏览次数:20577 次

初学HTML,不明白这段代码,请教
代码
<html>

<head>
<meta   http-equiv= "Content-Type "   content= "text/html;   charset=gb2312 ">
<title> 新建网页   1 </title>
<script>
function   CreateEl(tag){
var   t   =   document.createElement(tag);
return   t;
}

function   DivInsert(){
var   tb   =   CreateEl( "table ");
var   tbtr   =   CreateEl( "tr ");
var   tbtd   =   CreateEl( "td ");
var   tbtext   =   document.createTextNode( "Hell,world! ");

tbtd.appendChild(tbtext);
tbtr.appendChild(tbtd);
tb.appendChild(tbtr);

var   d   =   document.getElementById( "myDiv ");
d.appendChild(tb);
alert(d.innerHTML);
debugger;

}
</script>
</head>

<body>
<div   id   =   "myDiv "   onclick= "DivInsert() "> Here </div>
</body>

</html>

点击了 "Here ",myDiv的innerHTML发送了变化,添加了一个表格,但是为什么显示上却没有变化呢?

------解决方案--------------------
在IE下,只能显示“Here”
在opera下,点击Here之后,会换行显示Hell,world!
两者都会有提示框弹出表明是添加了表格,呵呵,也很奇怪啊 等着高人回答
------解决方案--------------------
不明白你要问什么。
这段代码是利用DOM技术动态插入一个对象。
好多JS代码在不同的浏览器中运行结果是不同的,或者说是不兼容的。
------解决方案--------------------
长知识了,应该多去找找
http://topic.csdn.net/t/20030106/09/1329818.html
据说是IE的BUG,在添加时是这样的顺序:table-> tbody-> tr-> td