+ -
当前位置:首页 → 问答吧 → IE动态创建table不成功?

IE动态创建table不成功?

时间:2010-08-13

来源:互联网

<html>
<body>
  <div style="width: 560px; margin-top: 10px; text-align: left; overflow: hidden;">
  <table id="my_table" border="1" class="main_table" style="width: 750px;">
  </table>
  </div>

  <script type="text/javascript">
   
  var tablemy=document.getElementById("my_table");
   
  var element=document.createElement("tr");
   
  var tdelement=document.createElement("td");
  tdelement.appendChild(document.createTextNode("45555555555555"));
  element.appendChild(tdelement);
   
  var tdelement=document.createElement("td");
  tdelement.appendChild(document.createTextNode("fghgfhgf"));
  element.appendChild(tdelement);
   
  var tdelement=document.createElement("td");
  tdelement.appendChild(document.createTextNode("768uiuyiuiuyiui"));
  element.appendChild(tdelement);
   
  tablemy.appendChild(element);
 
  </script>

</body>
</html>


这个在mozilla上显示创建table都是ok,但是IE却什么都没有创建,不知道什么原因。

作者: blandyzld   发布时间: 2010-08-13

要创建tbody

作者: net_lover   发布时间: 2010-08-13

JScript code
  var tablemy=document.getElementById("my_table");
   var tbody=document.createElement("tbody");
  var element=document.createElement("tr");
   
  var tdelement=document.createElement("td");
  tdelement.appendChild(document.createTextNode("45555555555555"));
  element.appendChild(tdelement);
   
  var tdelement=document.createElement("td");
  tdelement.appendChild(document.createTextNode("fghgfhgf"));
  element.appendChild(tdelement);
   
  var tdelement=document.createElement("td");
  tdelement.appendChild(document.createTextNode("768uiuyiuiuyiui"));
  element.appendChild(tdelement);
   tbody.appendChild(element)
  tablemy.appendChild(tbody);

作者: net_lover   发布时间: 2010-08-13

孟老大正解

作者: WebAdvocate   发布时间: 2010-08-13

但是在纯HTML语句里面直接创建table为什么不用tbody的标签也可以呢?

作者: blandyzld   发布时间: 2010-08-13

另外,如果我要动态创建很多的东西,而我又不想用createElement的方法,这个方法比较麻烦,有没有比较简单一点的方法,还要可以跨浏览器的哦。我知道有outerHtml方法,但是火狐不支持这个方法。

作者: blandyzld   发布时间: 2010-08-13

你用
<div id=x></div>
document.getElemetById("x").innerHTML="<table"啊
别用outerHTML了啊

作者: net_lover   发布时间: 2010-08-13

用 innerHTML

作者: WebAdvocate   发布时间: 2010-08-13

我用了但是没有创建成功呵呵!因为我的table里面还比较复杂,单元格里面有复选框,下拉列表框之类的。不知道WebAdvocat可否给我个实例符合我的要求的!

作者: blandyzld   发布时间: 2010-08-13

HTML code
<script type="text/javascript">
function fun()
{
    s=[]
    for(i=0;i<10;i++)
    s.push("<tr><td><select><option value='1'>"+i+"</select><input type=checkbox><input type=checkbox><textarea></textarea></td></tr>")
document.getElementById("x").innerHTML="<table border>"+s.join("")+"</table>"
}

</script><div id=x></div>

<input onclick='fun()' type=button value=创建 >

作者: net_lover   发布时间: 2010-08-13