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

时间:2012-01-19 10:54:10

标签: jquery dom dojo

在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所困扰。更新了问题以反映版本。

2 个答案:

答案 0 :(得分: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

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"

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

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

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

答案 1 :(得分:2)

那将是create方法。