Программирование > JavaScript & JScript

Удаление строк таблицы (DOM)

<< < (2/3) > >>

Night_Wolf:
Вот что еще заметил: если функцию tableClear() запустить дважды, то удалит за второй заход оставшуюся строку. За раз не хочет ни в какую.

andymc:
Night_Wolf
значит индексы рядов при удалении смещаются
ПОпробуй
function TableClear()
{
var newElem = parent.document.getElementById("u_table");
         for (var i=0; i<newElem.rows.length; i++)
{           
newElem.deleteRow(0);       
}
}

Night_Wolf:
andymc, идею понял, попробовал. Результат тот же.
Видимо действительно индексы рядов смещаються. Даже при принудительной установке индекса deleteRow глючит. Видать это какой-то баг ф-и DOM-а в самом Javascript. Еще заметил, что чем больше рядов в таблице, тем больше их остаеться после прогона через deleteRow.
Если б это еще обойти можна было?..

Пока думаю над альтернативой: поместить таблицу в DIV или SPAN, и удалять всю таблицу путем innerHTML. Правда потом придеться таблицу заново "рисовать", а это уже значительно трудо- и ресурсо-емней:(

Altaxar:
Night_Wolf
Тебе немного подсказали в чем дело, осталось немного домыслить, и не какой это не глюк DOM. я б сказал где ошибка, только ты обидешся, если не понимаешь юмора.
Вот решение:

function TableClear()
{
var newElem = parent.document.getElementById("u_table");
         for (var i=newElem.rows.length-1; i>=0; i--)
{           
newElem.deleteRow(i);       
}
}

Night_Wolf:
Altaxar, ты прав. Да чего там обижаться:)
Выходит это все от того, что на изнанку прогонялось! Cам бы не додумал. Всем спасибо.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии