insertRow возвращает ноль в IE7 - PullRequest
3 голосов
/ 29 апреля 2011
        var otbody = document.createElement('tbody');
        var otr = otbody.insertRow(ordernumber);
        otr.id="order" + ordernumber;
        var pidCell = otr.insertCell(0);

Ошибка при выполнении insertRow в IE7.Я использую IE9 в режиме IE7, а у otbody есть метод insertRow.Я пробовал 0, -1, 1 и т. Д. В качестве аргумента этого метода в консоли отладчика, но все возвращают ноль.И когда я использую document.createElement ("tr") для создания строки таблицы, insertCell () возвращает null.Интересно, работают ли эти методы для работы с таблицами во всех браузерах?

1 Ответ

6 голосов
/ 29 апреля 2011

IE7 требует, чтобы tbody был присоединен к элементу таблицы, чтобы создать tr, поэтому вы должны создать дополнительный элемент таблицы, добавить элемент tbody к таблице, чем вызывать insertRow для элемента tbody:

var otable = document.createElement('table');
var otbody = document.createElement('tbody');
otable.appendChild(otbody);
var otr = otbody.insertRow(0); // now otr will not be null
var otd = otr.insertCell(0); // and the same as tr element
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...