nextSibling в NC7> лично мне больше нравится getElementsByTagName ;-)
Здесь Не Все Так Безоблачно.
1. Дело В Том, Что getElementsByTagName Делает Полный Обход Всего Дерева Детей Элемента. Это Медленно. (Также См. Ниже)
2. В Случае getElementsByTagName Приходится Делать Его Для TD И Для TH, А Потом Объединять Массивы.
3. Если Надо Обработать Только Выборочные Колонки Таблицы, То Использование getElementByTagNames Вообще Очень Нетривиально. По Крайней Мере, Не Получится Сделать Универсальный Код, А Придется Извращаться Для Каждого Конкретного Случая.
Насчет 1 Пункта. Я Сделал Тестовую Табличку 10Х10, В Каждой Ячейке Которой Была Конструкция Из Формы, А В Ней Скрытый Input И Кнопка. Потом Обошел Все Двумя Способами: getElementsByTagName('TD') И rows[i].cells[j].
В IE (6 Версия) Первый Способ Сильно Отстает, Что Я И Ожидал. В Опере - Примерно Поровну. А Вот В Мозилле (1.3) - Наоборот. Хотя, Когда Я Увеличил Табличку До 10Х20 И Запихнул В Ячейки Более Невообразимую Конструкцию (С FieldSet'ами, Select'ами), То На Таком Глубоком Дереве И В Мозилле getElementsByTagName Начал Отставать. Видимо, Они Очень Круто Разогнали getElementsByTagName В Последнее Время.
Вывод Такой, Что По Скорости Все Далеко Неоднозначно, И Различается В Разных Браузерах. Зато По Удобству И Универсальности rows&cells Вне Конкуренции :-) |