Javascript DOM 无效指针错误

标签 javascript dom dynamic

我在用 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);
    }
}

其中“列”是在我的代码的另一部分中填充的文本字符串数组。我遇到了非常具体的症状:

  1. 表格已正确填充,迭代“columns”数组中的所有项目。
  2. 我在 Firebug(Firefox 调试器)和 IE9 中遇到不同的错误。

在 Firefox 中,我在 nsIDOMHTMLTableSectionElement.appendChild 上收到 NS_ERROR_INVALID_POINTER。

在 Internet Explorer 9 中,我遇到两个错误:

  1. SEC7111:HTTPS 安全性受到 javascript:void(0) 的损害
  2. SCRIPT5022:DOM 异常:HIERARCHY_REQUEST_ERR (3)

认为第一个 IE 错误与我的代码中的其他内容有关,但我不知道为什么 Firefox 和 IE 会给出不同的 DOM 错误。该表在两个浏览器中仍然正确填充,我不知道为什么他们会抛出这些错误但又正确执行代码。

如果有人在这些问题上有经验/见解,我将非常感谢您的帮助! :)

最佳答案

问题已解决;我使用的语法是正确的,但事实证明我用来对表进行排序的另一个脚本出了问题。该表最初是静态 HTML,当我使用 Javascript 生成它时,排序脚本崩溃了。 :)

关于Javascript DOM 无效指针错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6142449/

相关文章:

html - 在动态文章文本中 float 一个 Div

c# - 具有动态属性名称的 Linq 选择器

javascript - 如何修复[对象,对象]

javascript - D3.js 无限规模使用 d3.svg.brush

javascript - 如何在node.js中找到 '{ } '之间的匹配字符串

javascript - 解析dom元素的更有效方法?

c# - CheckedChanged 事件未在 Gridview 中触发

javascript - Word 相位变化,CSS 垂直动画循环

html - 通过地址模板点击链接

Javascript:在创建/附加到 DOM 时注册*每个* DOM 元素