什么是jjo(html)的Dojo 1.6等价物?

Nik*_*rez 4 jquery dojo dom

在jQuery中,您可以轻松地从原始HTML创建DOM节点.这在使用模板时特别有用.

Dojo中的等价物是什么?

(仅供参考:我正在将一些东西从jQuery迁移到Dojo.原始HTML是从Underscore.js模板生成的,我想避免将它们扔掉.)


[更新:2012-01-19 7:17 pm GMT + 8]根据@esailija的评论,dojo.toDom确实相当于jQuery(html) - 不幸的是,它只被添加到Dojo 1.7中,而我'有点坚持Dojo 1.6.更新了问题以反映版本.

Fro*_*ode 6

我想也许你正在寻找的是dojo.placedojo._toDom(在没有下划线的情况下> = 1.7)的组合.

toDom函数接受字符串并将其转换为DOM元素或文档片段.

n = dojo._toDom("<li>foo</li>");             // n is a single DOM node
n = dojo._toDom("foo");                      // n is a DOM text node
n = dojo._toDom("<li>foo</li><li>bar</li>"); // n is a DOM document fragment
Run Code Online (Sandbox Code Playgroud)

place函数还采用字符串和目标.

dojo.place("<li>foo</li>", dojo.byId("baz")); // li element is added to 
                                              // element with id "baz"
dojo.place("<li>foo</li>", "baz");            // Same as above.
dojo.place("foo", "baz");                     // Note: Element with id "foo" 
                                              // is placed in element with
                                              // id "baz"
dojo.place(dojo._toDom("foo"), "baz");        // Text node "foo" is placed
                                              // in element with id "baz"
Run Code Online (Sandbox Code Playgroud)

请注意第三个示例:如果字符串不以a开头<,则将其视为文档中其他位置的元素的id.

顺便说一句,该dojo.place函数还采用第三个位置参数,可以是"第一","最后","替换","之前","之后"(可能还有其他一些东西).

http://dojotoolkit.org/reference-guide/dojo/place.html