[code="java"]
function addQuery()
{
var b="test";
var row =document.createComment("tr");
var cell= document.createElement("td") ;
cell.appendChild(document.createTextNode(b));
row.appendChild(cell);
document.getElementById("queryList").appendChild(row);
}
[/code]
这段js有啥问题呀?
[b]问题补充:[/b]
var row =document.createComment("tr");
这句写错了:
应该是:
var row =document.createElement("tr") ;
报错的是这行:
row.appendChild(cell);
在firefox上也报错。
无标题文档 function addQuery() { var b="test"; [color=red]var row =document.getElementById("queryList").insertRow(); [/color] var cell= document.createElement("td") ; cell.appendChild(document.createTextNode(b)); row.appendChild(cell); }
var row =document.createComment("tr");
这句写错了吧?
另外寻求帮助的时候最好把错误信息写全,例如js错误出现在哪一行
把这句
[code="java"]var row =document.createComment("tr"); [/code]
改成
[code="java"]var row =document.createElement("tr"); [/code]
这个是我测试的代码,没有任何错误
[code="java"]
无标题文档 function addQuery() { var b="test"; var row =document.createElement("tr"); var cell= document.createElement("td") ; cell.appendChild(document.createTextNode(b)); row.appendChild(cell); document.getElementById("queryList").appendChild(row); }
我发现用这个方法给Table加上一行,还要进一步获得TBODY子节点~~在IE里可以成功加入一行,但是Firefox毫无反应
[code="java"]
无标题文档 function addQuery() { var b="test"; var row =document.createElement("tr"); var cell= document.createElement("td") ; cell.appendChild(document.createTextNode(b)); row.appendChild(cell); document.getElementById("queryList").getElementsByTagName("TBODY")[0].appendChild(row); //alert( document.getElementById("queryList").innerHTML); }
这样给table加字段倒是firefox和IE都可以通过
[code="java"]
无标题文档 function addQuery() { var b="test"; var row = queryList.insertRow(queryList.rows.length); var cell = row.insertCell(0); cell.innerHTML = b; //alert( document.getElementById("queryList").innerHTML); }
这样改就都可以跑,不会报错了
[code="java"]
无标题文档 function addQuery() { var b="test"; var row =document.createElement("tr"); var cell= document.createElement("td") ; cell.appendChild(document.createTextNode(b)); row.appendChild(cell); document.getElementById("queryList").appendChild(row); //alert( document.getElementById("queryList").innerHTML); }
我觉得appendChild()这个函数还是慎用吧,firefox和IE的支持好像还是不太一致
[code="js"]
无标题文档 function addQuery() { var b="test"; [color=red]var row =document.getElementById("queryList").insertRow(); [/color] var cell= document.createElement("td") ; cell.appendChild(document.createTextNode(b)); row.appendChild(cell); }