Ошибка неверного указателя в Javascript DOM - PullRequest
1 голос
/ 26 мая 2011

У меня странные проблемы с динамическим заполнением таблицы в 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. Таблица заполняется правильно, перебирая все элементы в массиве «столбцы».
  2. Я получаю разные ошибки в Firebug (отладчик для Firefox) и IE9.

В Firefox я получаю NS_ERROR_INVALID_POINTER для nsIDOMHTMLTableSectionElement.appendChild.

В Internet Explorer 9 я получаю две ошибки:

  1. SEC7111: безопасность HTTPS нарушена из-за javascript: void (0)
  2. SCRIPT5022: исключение DOM: HIERARCHY_REQUEST_ERR (3)

Я думаю первая ошибка IE связана с чем-то другим в моем коде, но я понятия не имею, почему Firefox и IE дают мне разные ошибки DOM.Таблица по-прежнему корректно заполняется в обоих браузерах, я не могу сказать, почему они выдают эти ошибки, но при этом правильно выполняет код.

Если у кого-то есть опыт / понимание этих вопросов, я был бы очень признателенПомогите!:)

1 Ответ

0 голосов
/ 01 июня 2011

Проблема решена;синтаксис, который я использовал, был верным, оказалось, что другой скрипт, который я использовал для сортировки таблицы, не работал.Изначально таблица представляла собой статический HTML, и когда я сгенерировал ее с помощью Javascript, скрипт сортировки сломался.:)

...