如何删除Ext.query('。class name') - EXTJS

问题描述 投票:-3回答:2

我想使用以下方法从数组中删除所有元素:

Ext.query('.classname') // gets me array of elements

Ext.query('.classname').removeall()不是它支持的功能,如何实现这一目标?

谢谢

javascript extjs
2个回答
-1
投票

猜它应该是这样的:

Ext.ComponentQuery.query('panel[cls=classname]').each(function(cmp) {
    cmp.destroy();
});

Ext.query实际上是Ext.dom.query,因此它不会返回组件

...... Ext.ComponentQuery一样。

解释:问题并不表示代码应运行的内容;因此我认为它是ExtJS组件 - 而不是ExtJS面板中的HTML内容(在框架中没有任何表示)。关键是,当删除DOM节点时,不会破坏相关组件,这将留下孤立的引用。因此建议正确地摧毁它们,以便那些不再不必要地占用RAM,例如。如果删除DOM节点然后一遍又一遍地添加新的ExtJS组件 - 这将导致行为迟缓。


-1
投票

使用Ext.select,它包装返回元素,以便您可以调用Ext.dom.Element方法,就好像它们是一个组:

Ext.select('.even').remove();

Fiddle

© www.soinside.com 2019 - 2024. All rights reserved.