Как стать автором
Обновить

«Шаблонизатор» javascript

Время на прочтение1 мин
Количество просмотров596
Недавно пришлось менять дизайн на одном из старых сайтов, где для отрисовки элементов использовался javascript. В частности там есть такой момент. Поступающие данные должны с помощью javascript добавляться в таблицу. При этом у каждого элемента (ячейки, строки ) и т.п. были какие-то аттрибуты. Рисовались такие элементы стандартными DOM функциями (createElement, appendChild и т.п.). При смене дизайна пришлось лезть в javascript код (ставить другие стили и т.п.). Думаю знакомая ситуация.

Естественно такая ситуация мне не понравилась и пришла в голову идея обеспечить смену дизайна без изменения javascript'а. Для этого я попробовал создать шаблон в html, а затем с помощью cloneNode попробовать его вставить в нужное место и заменить метки на данные. Вот что из этого получилось: www.pastebin.ca/931592.

Теперь представим что дизайн меняется:
www.pastebin.ca/931593

Если отображение достаточно сложное, то такой подход упрощает поддержку.
Минус — возможные потери скорости.
Для снижения потерь, ограничивается набор аттрибутов, в которых происходит замена меток. Этот набор периодически придется уточнять.

ps. Протестировал в IE6 и Firefox2
Теги:
Хабы:
Всего голосов 5: ↑4 и ↓1+3
Комментарии7

Публикации

Истории

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань