日期:2014-05-16  浏览次数:20415 次

为什么我的这段js不能执行!(高分)
function   create_tr_td(){
var   Table   =   document.getElementById( "tableid ");//tableid为table的id
var   TR   =   " <tr   width= '100% '> </tr> ";
var   trElement   =   document.createElement(TR);                
var   TD   =     " <td   align= 'left '> <input   type= 'button '   value= '提交 '> </td> ";
var   tdElement   =   document.createElement(TD);
                 
tdElement.innerHTML=   " <input   type= 'button '   value= '提交 '> ";
trElement.insertBefore(tdElement);  
Table.insertBefore(trElement);
alert(Table.innerHTML);
}


这行到alert(Table.innerHTML)提示信息:

<tbody> </tbody>
<tr   width= '100% '>
<td   align= 'left '> <input   type= 'button '   value= '提交 '> </td>
</tr>
       

但是页面上面什么也没有!
请教怎样把这段大吗写出来!

------解决方案--------------------
你添加的element在 <tbody> 后!应该是在 <tbody> 内,table> tbody(默认)> tr> td

Table.insertBefore(trElement);---》 Table.firstChild.insertBefore(trElement);

另外,document.createElement(标签名),不是document.createElement(html代码),不规范的写法在FF下会有问题。
------解决方案--------------------
你把tr和td都加到document里了,也就是body里了,而没有加到表格里
所以表格等于什么都没有,当然是 <tbody> </tbody> 了
给表格添加行是:var tr = table.insertRow();//insertRow()可以带参数表示要插入行的行号
然后可以给行添加列:var td = tr.insertCell();//返回插入的列
这样就把行或列添加进表格了,同时返回的是插入行或列的引用的引用