在jQuery中,您可以很容易地从原始HTML创建DOM节点。这在使用模板时特别有用。
Dojo中的等价物是什么?
(FYI:我正在将一些东西从jQuery迁移到Dojo。原始HTML是从Underscore.js模板生成的,我希望避免丢弃它们。)
更新: 2012-01-19 7:17 GMT+8 (按@esailija的评论),dojo.toDom确实相当于jQuery(html) --不幸的是,它只被添加到Dojo1.7中,而我有点停留在Dojo1.6。更新了这个问题以反映版本。
发布于 2012-01-19 11:48:47
我认为您要寻找的可能是dojo.place
和dojo._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
发布于 2012-01-19 10:55:17
这将是创建方法。
https://stackoverflow.com/questions/8924818
复制相似问题