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

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

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

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

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

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

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

Публикации

Истории

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

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн