innerHTML для TR в IE
Приветствую всех.
Наверняка многие сталкивались с подобной проблемой, что в IE (8) нельзя обратиться к свойству innerHTML для TR, а только к innerText. Можно было бы выкрутиться методами insertCell, но используется AJAX и теги для строки (и их содержание) формирует PHP скрипт самостоятельно. Причем проект уже довольно сильно разросся и переделывать все под inserCell все равно что заново его переписать. Есть идеи как мягко переделать уже существующую версию? Спасибо. |
Обращаться к innerHTML можно, изменять нельзя. Ничего с этим сделать тоже нельзя, придётся переписывать.
|
Ну да только на чтение. Что ж прискорбно, кому-то придется отказаться от использования IE.
|
Sinot,
Если бы вы не перемешали модель и представление, то вам бы пришлось переписать только клиентскую часть Цитата:
|
Хотя, если заранее известен формат приходящих данных, можно и подхачить. Если с сервера приходят только td и ничего более.
var tableRow; // Строка, в которую надо вставить данные
var serverResponse = '<td></td>'; //Что пришло с сервера
var div = document.createElement('div');
div.innerHTML = '<table><tr>' + serverResponse + '</tr></table>';
var tds = div.getElementsByTagName('td');
while (tds.length) {
tableRow.appendChild(tds[0]);
}
Должно работать, не тестил. А вообще, poorking прав, хреновая у вас архитектура. |
Цитата:
Например на сервере выполняется:
echo('<td class="'.$class.'" onclick="'.$function[0].'">'.$data[0].'</td><td><table><td onclick="'.$function[1].'">'.$data[1].'</td></table></td>');
А на клиенте простое присваивание. Цитата:
Цитата:
|
| Часовой пояс GMT +3, время: 07:32. |