获取元素内的所有小部件

Posted

技术标签:

【中文标题】获取元素内的所有小部件【英文标题】:get all widgets inside an element 【发布时间】:2010-05-31 08:42:50 【问题描述】:

dijit.registry 上的dojo documents,我看到forEach 方法接受最后一个参数thisObject。但这并不代表那个对象是什么。它是 dijit 小部件还是 dojo 对象?

我想销毁一个元素内的所有小部件(将被 AJAX 替换),以便可以再次解析它们而不会发生 id 冲突。

dijit.registry.forEach(function(w) 
    w.destroyRecursive();
, dojo.byId("ajaxElement"));

但这会破坏页面上的所有小部件...

【问题讨论】:

检查这个***问题,那里已经回答了:***.com/questions/2763983/… 【参考方案1】:

thisObject 是作用域对象,用于调用作为forEach 的第一个参数传入的函数。

您可以在这种情况下使用几个解决方案:

1) 使用dijit.findWidgets 查找一个DOM节点中的所有dijit,并一一销毁。 dijit.findWidgets 返回以 domnode 作为参数的小部件数组 2) dojo.parser.parse 返回它创建的所有 dijit 的数组,存储该数组并在再次调用 dijit.parser.parse 之前销毁 dijit。

3) 使用dijit.registry.filter 过滤掉要保留的dijit。

【讨论】:

以上是关于获取元素内的所有小部件的主要内容,如果未能解决你的问题,请参考以下文章

Kendo UI,使用 MVVM 时如何从 DOM 元素获取小部件对象?

如何隐藏博客标签搜索中的小部件

CKEditor 5如何从任何小部件/模型/视图中获取单击,更新和删除的事件

如何将特定元素与列小部件内的左侧对齐

php xpath如何从父元素内的多个元素中获取值

python - 获取html标签内的所有子元素