Недавно мне пришлось изменить дизайн на одном из старых сайтов, где для рендеринга элементов использовался javascript. В частности, есть такой момент. Входящие данные необходимо добавлять в таблицу с помощью JavaScript. Более того, у каждого элемента (ячейки, строки) и т.п.
были какие-то атрибуты.
Такие элементы рисовались с помощью стандартных DOM-функций (createElement,appendChild и т.п.
).
При изменении дизайна приходилось заходить в яваскрипт-код (ставить разные стили и т.п.
).
Думаю, это знакомая ситуация.
Естественно, мне такая ситуация не понравилась и пришла в голову идея обеспечить смену дизайна без изменения яваскрипта.
Для этого я попробовал создать шаблон на html, а затем с помощью cloneNode попытаться вставить его в нужное место и заменить метки данными.
Вот что из этого вышло: www.pastebin.ca/931592 .
А теперь представьте, что конструкция меняется: www.pastebin.ca/931593 Если отображение довольно сложное, то такой подход упрощает обслуживание.
Минус – возможная потеря скорости.
Для уменьшения потерь набор атрибутов, в которых заменяются метки, ограничен.
Этот набор необходимо будет периодически обновлять.
пс.
Протестировано в IE6 и Firefox2. Теги: #JavaScript #Чулан
-
Миллион Файлов И Один Ноутбук
19 Oct, 24 -
Оптические Трекеры: Asef И Mosse.
19 Oct, 24