我有一个名为idname1
,idname2
,idname88
等ID的scrollableViews。我想销毁所有名称以“idname”开头的小部件。
我试过这个:
var widgets = dijit.findWidgets("id^=divNodes");
dojo.forEach(widgets, function(w) {
w.destroyRecursive(false);
似乎我无法使用dijit.findWidgets("id^=divNodes")
。
什么对此有用?
答案 0 :(得分:0)
来自文档...
registry.findWidgets返回一个包含所有非嵌套小部件的数组 给定的DOM节点。
https://dojotoolkit.org/reference-guide/1.8/dijit/registry.html
您可以自己迭代注册表
require(["dojo/_base/array", "dijit/registry"], function(array, registry){
var startsWith = function(wholeString, lookFor) {
return wholeString.slice(0, lookFor.length) == lookFor}
};
var toDestroy = array.filter(registry.toArray(),
function(w) { return startsWith(w.id, 'divNodes'); });
array.forEach(toDestroy, function(w) { w.destroyRecursive(false); });
});