IE innerHTML или innerText чем заменить?
В таблице из ячейке как выгрузить текст в переменную?
|
innerText || textContent, innerHTML
|
bes,
innerHTML,innerText в IE 8 не работает: Сведения об ошибке на веб-странице Сообщение: 'innerHTML' - есть null или не является объектом Строка: 298 Символ: 1 Код: 0 textContent - сейчас проверю. |
тестовый пример
ошибка не в этом |
Цитата:
|
Да, нашел ошибку.. она была в этом:
var sosed=rod.previousElementSibling; Этот метод не поддерживает, Нашел тут http://habrahabr.ru/post/54380/ скрипт и с помощью него как я понял будет поддерживать, но чет не работает..:
// Создаем новый элемент для дальнейших проверок
var element = document.createElement("div");
// Проверяем, что браузер не поддерживает ElementTraversal
if(typeof element.firstElementChild == "undefined") {
// Создаем объект с набором методов
var ElementTravrsal = {
// Поиск первого дочернего элемента
firstElementChild: function() {
// Получаем первый дочерний узел
var node = this.firstChild;
// Находим следующий соседний узел пока не встретили элемент
// или не получили значение null
while(node && node.nodeType != 1) node = node.nextSibling;
// Возвращаем найденный элемент или null
return node;
},
// Поиск последнего дочернего элемента
lastElementChild: function() {
// Получаем последний дочерний узел
var node = this.lastChild;
// Находим предыдущий соседний узел пока не встретили элемент
// или не получили значение null
while(node && node.nodeType != 1) node = node.previousSibling;
// Возвращаем найденный элемент или null
return node;
},
// Поиск следующего соседнего элемента
nextElementSibling: function() {
// Объявляем переменную и инициализируем
// ее ссылкой на текущий элемент
var node = this;
// Находим следующий соседний узел пока не встретили элемент
// или не получили значение null
do node = node.nextSibling
while(node && node.nodeType != 1);
// Возвращаем найденный элемент или null
return node;
},
// Поиск предыдущего соседнего элемента
previousElementSibling: function() {
// Объявляем переменную и инициализируем
// ее ссылкой на текущий элемент
var node = this;
// Находим предыдущий соседний узел пока не встретили элемент
// или не получили значение null
do node = node.previousSibling;
while(node && node.nodeType != 1);
// Возвращаем найденный элемент или null
return node;
},
// Определение количества дочерних элементов
// Проверяем, что браузер не поддерживает геттер children
childElementCount: typeof element.children == "undefined" ? function() {
// Браузер не поддерживает children,
// поэтому получаем список всех дочерних узлов
var list = this.childNodes,
// определяем их количество
i = list.length,
// заводим счетчик элементов
j = 0;
// Проходя в цикле по всем дочерним узлам,
while(i--)
// если встретился элемент,
if(list[i].nodeType == 1)
// увеличиваем счетчик
j++;
// Возвращаем количество дочерних узлов или 0
return j;
} : function() {
// Браузер поддерживает children,
// поэтому получаем список всех дочерних элементов
// и возвращаем их количество
return this.children.length;
}
};
// Создаем геттеры для IE8
if(Object.defineProperty)
for(var property in ElementTravrsal)
if(ElementTravrsal.hasOwnProperty(property))
Object.defineProperty(Element.prototype, property, {
get: ElementTravrsal[property]
});
// для Firefox 2+ и Safari 3+
if(Object.__defineGetter__)
for(var property in ElementTravrsal)
if(ElementTravrsal.hasOwnProperty(property))
HTMLElement.prototype.__defineGetter__(property, ElementTravrsal[property]);
}
И что мне теперь делать как прописать это : var sosed=rod.previousElementSibling; чтобы работало? |
Все-таки innerHTML тоже не работает:
var table=document.getElementById('table');
table.innerHTML=Storage.getItem('table');
Сведения об ошибке на веб-странице Агент пользователя: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.2; .NET4.0E; WebMoney Advisor) штамп времени: Fri, 7 Sep 2012 16:43:00 UTC Сообщение: Неизвестная ошибка выполнения Строка: 98 Символ: 1 Код: 0 table элемент определен его innerHTML даже отображается через alert... storage.table тоже определен и через alert можно посмотреть что там... В чем может быть проблема? |
Цитата:
|
devote,
А в опере и в mozile то все работает.. К tbody внутри таблицы можно? |
Цитата:
Цитата:
|
| Часовой пояс GMT +3, время: 03:09. |