Javascript DOM无效指针错误

时间:2011-05-26 17:15:03

标签: 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);
    }
}

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

  1. 正确填充表格,遍历“columns”数组中的所有项目。
  2. 我在Firebug(Firefox的调试器)和IE9中遇到了不同的错误。
  3. 在Firefox中,我在nsIDOMHTMLTableSectionElement.appendChild上获得了NS_ERROR_INVALID_POINTER。

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

    1. SEC7111:javascript:void(0)
    2. 会破坏HTTPS安全性
    3. SCRIPT5022:DOM例外:HIERARCHY_REQUEST_ERR(3)
    4. 认为第一个IE错误与我的代码中的其他内容有关,但我不知道为什么Firefox和IE会给我不同的DOM错误。该表仍在两个浏览器中正确填充,我无法分辨为什么他们在正确执行代码时抛出这些错误。

      如果有人对这些事情有经验/见解,我将非常感谢你的帮助! :)

1 个答案:

答案 0 :(得分:0)

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