我在Javascript中动态填充表格时遇到了一些奇怪的问题。看看以下内容:
/**
* Create dynamic table and populate column names
*/
function createTableHeaders() {
var table = document.getElementById("list-contain").getElementsByTagName("tbody")[0];
var row = document.createElement('tr');
table.appendChild(row);
var th;
for(var i=0; i<columns.length; i++) {
th = document.createElement('th');
th.appendChild(document.createTextNode(columns[i]));
table.rows[0].appendChild(th);
}
}
其中“columns”是填充在我的代码的另一部分中的文本字符串数组。我遇到了非常具体的症状:
在Firefox中,我在nsIDOMHTMLTableSectionElement.appendChild上获得了NS_ERROR_INVALID_POINTER。
在Internet Explorer 9中,我遇到两个错误:
我认为第一个IE错误与我的代码中的其他内容有关,但我不知道为什么Firefox和IE会给我不同的DOM错误。该表仍在两个浏览器中正确填充,我无法分辨为什么他们在正确执行代码时抛出这些错误。
如果有人对这些事情有经验/见解,我将非常感谢你的帮助! :)
答案 0 :(得分:0)
问题已解决;我使用的语法是正确的,事实证明,我用来排序表的另一个脚本是错误的。该表最初是静态HTML,当我使用Javascript生成它时,排序脚本中断了。 :)