如何使用Scriptacolus中的节点生成器插入html

时间:2008-09-16 11:16:19

标签: javascript dom scriptaculous

例如此代码

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

导致显示p和a标签,如何防止它们被转义?

2 个答案:

答案 0 :(得分:2)

根据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")
        );

答案 1 :(得分:0)