innerHTML работает в FF, но не в IE7 - PullRequest
0 голосов
/ 09 ноября 2010
var row = document.getElementById('my_id');
var newRow = row.parentNode.insertRow();
newRow.Id = myCounter;

var newCell2 = newRow.insertCell(0);
newCell2.innerHTML = 'some text';  

Я пытаюсь создать новую строку и новую ячейку в этой строке.Приведенный выше код работает в FF, но не в IE.Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 09 ноября 2010
var newRow = row.parentNode.insertRow();

Должно быть insertRow(-1), если вы хотите добавить конец родительского элемента.

Также будьте осторожны: parentNode из row будет<tbody>, даже если вы не включили тег <tbody>.Это связано с тем, что в HTML <tbody> считается необязательным начальным тегом и подразумевается, если опущен до <tr>.Если вы ожидали, что parentNode будет <table>, вы можете быть сбиты с толку.

(XHTML более разумно анализирует таблицы.)

Сказав это, ваш код работает для меня в IE(с учетом подходящей разметки и действительного myCounter).Опубликовать неудачный тест?

0 голосов
/ 10 ноября 2010

Неважно. IE ожидает document.CreateElement ("td") (а также для tr). Я добавил это, и это сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...