0

我有一个 ID 名称为 , 等的可滚动idname1视图idname2idname88我想销毁所有 ID 名称以“idname”开头的小部件。

我试过这个:

var widgets = dijit.findWidgets("id^=divNodes");
dojo.forEach(widgets, function(w) {
w.destroyRecursive(false);

看来我不能用dijit.findWidgets("id^=divNodes")这个。

什么会为此工作?

4

1 回答 1

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); });
});
于 2013-06-20T12:07:09.023 回答