Как использовать нод Builder из Scriptacolus для вставки HTML

Например этот код

var html = "<p>This text is <a href=#> good</a></p>";
var newNode = Builder.node('div',{className: 'test'},[html]);
$('placeholder').update(newNode);

как показать p и теги, как я могу предотвратить их экранирование?

2 ответа

Решение

Последний параметр в Builder.node - это "Массив, список других узлов, которые будут добавлены как дочерние" в соответствии с вики. Поэтому, когда вы передаете ей строку, она обрабатывается как текст.

Вы можете использовать:

var a = Builder.node('div').update("<a href='#'>foo</a>")

Где ссылка текстовая или:

var a = Builder.node('div', {'class':'cool'}, 
         [Builder.node('div', {'class': 'another_div'})]
        );

И вы можете использовать только Prototypes new Element () (доступно начиная с версии 1.6).

var a = new Element('div').insert(
          new Element('div', {'class': 'inner_div'}).update("Text in the inner div")
        );

Вы можете использовать это решение: http://sviudes.blogspot.com/2009/08/como-usar-etiquetas-html-con.html

Другие вопросы по тегам