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

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

Время на прочтение1 мин
Количество просмотров588
Недавно пришлось менять дизайн на одном из старых сайтов, где для отрисовки элементов использовался 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

Публикации