Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: Anthony от 16 Января 2006, 12:59:29

Название: removeAttribute в ИЕ
Отправлено: Anthony от 16 Января 2006, 12:59:29
Кто-нибудь сталкивался с проблемой, когда данный метод отказывается работать в ИЕ?

Точнее он работает, но после его работы не происходит обновления объекта в броузере, при том что DOM меняетсь.

Есть таблица. Скриптом нужно удалить атрибут rowspan.












Скрипт, который это делает:

for(j = 0; j < tbl_row.cells.length; j++)
if(tbl_row.cells[j].getAttribute(\'rowSpan\'))
tbl_row.cells[j].removeAttribute(\'rowSpan\');
Название: removeAttribute в ИЕ
Отправлено: Anthony от 16 Января 2006, 13:05:57
После работы скрипта, если смотреть в DOM Explorere, значение rowspan во всех TD равно 1. Т. е. типа все нормально, но на экране все равно строки обединены.
Название: removeAttribute в ИЕ
Отправлено: commander от 17 Января 2006, 17:27:03
Anthony
смотри внимательно синтаксис... и при сложных задачах оперируй простыми примерами аля:


   
   


   

blah-blah blah
blah


Название: removeAttribute в ИЕ
Отправлено: Anthony от 17 Января 2006, 23:47:08
Да нет, тут дело в другом. Атрибут успешно удаляется из DOM, только вот броузер не перерисовывает таблицу с новыми параметрами.

Кстати, твой пример подходит только для случай, когда ячейка заранее известна. А если в строке несколько ячеек и у всех нужно удалить этот атрибут? Только перебором и можно, я еще цикл перебора строк опустил ;)))
Название: removeAttribute в ИЕ
Отправлено: noocky от 18 Января 2006, 17:20:41
Попробуй рефреш сделать. Типа:

document.body.innerHTML = document.body.innerHTML;

Даже вроде специальный метод на такие случаи был.