如果您使用 dijit._ container 扩展您的父部件, 您可以通过调用 polent.getChild ()
来获取您的部件。 部件返回的顺序是 afaik, 顺序是它们添加到父部件( polent. addchild ()
) 而不是 DOM sibling- behood 。 但是, 一旦您使用剖析器, 这样的部件将会是相同的 。 任何部件都会执行一个“ 获取孩子 ”, 但对于 _ Container 类的区别是 : adcdchildChild: 函数(/ * djit._ makeep*/ section, / */ 插入 Index) < cod> 和 < rescod> removeCreCre: 函数 (/ ** whost_int*/ fits) / / section) 等功能是相当nifty。 如果您在添加 Index 时插入, sbling- be 是可以管理的 。
对于 DomNodes 来说, dijit 我们超越 DOM, 转而在部件层中工作- 这只是 JS 包装 。 Dojo 中任何地方不存在可链式的函数. domNodes (), 您需要调用类似以下的调用 :
parent.getChildren().forEach(function(childWidget) {
var domNode = childWidget.domNode;
...
});
// this would get nowhere as the return child-set is merely a stupid array
parent.getChildren().set("attribute", "value");
使用 djit/map 来为上面的每个前方准备一个可爱的小包装纸
// retreives an array of the actual domNodes of widgetset
dijit.registry.map(function(widget){return widget.domNode;}).forEach(
// uses hitch to allow passing parameters without wrapping in new function
dojo.hitch(
window, // on random scope
dojo.addClass, // calling function
"imTheChildDomNode"// arguments[0]
)
);