конвертировать HTML в JavaScript - PullRequest
9 голосов
/ 19 августа 2010

Кто-нибудь знает, есть ли инструмент, который может конвертировать html в javascript.

Например:

<div>
</div>

будет конвертировать в

aDiv = document.createElement('div');
document.appendChild(aDiv);

и т. Д.

Я делаю несколько HTML-шаблонов для компонентов пользовательского интерфейса и использую MooShell для создания прототипов.Было бы здорово иметь возможность автоматически генерировать javascript, который будет создавать html компонента.

Спасибо

Ответы [ 5 ]

2 голосов
/ 19 августа 2010

Я бы посоветовал взглянуть на чистый javascript HTML-парсер Джона Ресига .Он состоит из синтаксического анализатора стиля SAX для HTML и включает сериализатор XML, построитель DOM и создатель DOM.Каждый принимает в качестве входных данных строку HTML.

В частности, метод HTMLtoDOM может быть легко перенастроен для возврата строки javascript, необходимой для построения DOM для любой входной строки HTML.

0 голосов
/ 19 августа 2010

В PrototypeJS Framework есть метод insert (), который может анализировать HTML-код, поэтому вы можете сделать что-то вроде:

$$('body')[0].insert(stringWithYourHTMLCode);

Или вы определяете контейнер для вашего контента:

$('containerId').insert(stringWithYourHTMLCode);
0 голосов
/ 19 августа 2010

Я не уверен в вашей ситуации, но если у вас есть компоненты в HTML, они должны иметь события, идентификаторы и привязку ... Так что я не думаю, что есть гениальный скрипт, похожий на человека, который может сгенерировать этот код.Добавьте к этому, ваша проблема очень специфична.Это может быть где-то в какой-то ИТ-корпорации, но это не то, что веб-разработчики используют ежедневно, как jQuery.

0 голосов
/ 19 августа 2010

Я вижу, что другие люди дали вам множество советов о том, как это сделать, но мои два цента нужно помнить об одном.

Если вы вставляете / удаляете / изменяете элементы в / из DOM с помощью клиентского Javascript, вы заметите, что с такой инфраструктурой, как jQuery, вы не сможете вызывать и манипулировать элементами DOM, добавленными в муха.

Лучший способ обойти это - поискать с помощью плагина jQuery Live.

0 голосов
/ 19 августа 2010

Если бы не было такого инструмента (что я считаю наиболее подходящим), я бы решил эту проблему тем же старым добрым способом: создать свой собственный парсер.

...