如何使用Scriptacolus中的Node Builder插入html

时间:2020-03-05 18:55:40  来源:igfitidea点击:

例如此代码

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

在显示p和标签的情况下,如何防止它们逃脱?

解决方案

回答

根据Wiki,Builder.node的最后一个参数是" Array,其他要作为子节点添加的节点列表"。因此,当我们传递字符串时,将其视为文本。

我们可以使用:

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