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, время: 00:03. |