Dojo中有没有一种方法可以在DOM元素中找到所有小部件子体?

Dojo中有没有一种方法可以在DOM元素中找到所有小部件子体?,dojo,Dojo,Dojo中有没有一种方法可以在DOM元素中找到所有小部件子体?我使用了下面的示例,它将只列出元素的子元素,在本例中是document对象的子元素的任何小部件,但不是所有子元素或嵌套小部件。希望这是清楚的 var widgets = dijit.findWidgets(dojo.doc); dojo.forEach(widgets, function(w) { console.log(w); }); 我可以编写自己的递归函数,但我想确保我没有错过一个已经实现了这一点的Dojo方法 非常感

Dojo中有没有一种方法可以在DOM元素中找到所有小部件子体?我使用了下面的示例,它将只列出元素的子元素,在本例中是document对象的子元素的任何小部件,但不是所有子元素或嵌套小部件。希望这是清楚的

var widgets = dijit.findWidgets(dojo.doc);
dojo.forEach(widgets, function(w) {
    console.log(w);
});
我可以编写自己的递归函数,但我想确保我没有错过一个已经实现了这一点的Dojo方法

非常感谢

嗯,
dijit.findwidget(parentWidget.domNode)

编辑哦,现在我需要的是FindWidget不会递归搜索

我检查了dijit.findWidgets源代码,它所做的只是检查dijit注册表中表示的具有
widgetid
属性的节点。以下版本使用dojo.query递归执行相同的搜索:

函数findEvenTheNestedWidgets(innitialNode){
返回dojo.query(“[widgetid]”,innitialNode)
.map(dijit.byNode)
.filter(函数(wid){return wid;})//筛选生成未定义的无效小部件ID
}

需要澄清的是,您需要一个函数来获取domNode下的所有小部件,包括嵌套在其他小部件中的小部件?@screenm0nkey,您是否找到了解决方案?我也需要这个功能。嘿,不。那是猜测吗?我不认为有dojo.findWidgets方法。哦,我是说dijit。。。重要的是,您可以选择小部件的domNode来启动搜索,而不是搜索文档中的所有小部件。但这仍然只会给我该domNode下的子项,不是嵌套在孩子和孩子们的孩子里面的小部件。我猜没有这样的功能,除非有人现在已经回答了。我本想感谢你的帮助,但无意中选择了它作为正确答案;)检查更新版本。我认为现在我做了一些研究,它实际上值得绿色复选标记:P