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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何删除Ext.query('。class name') - EXTJS相关的知识,希望对你有一定的参考价值。

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

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

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

谢谢

答案

猜它应该是这样的:

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组件 - 这将导致行为迟缓。

另一答案

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

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

Fiddle

以上是关于如何删除Ext.query('。class name') - EXTJS的主要内容,如果未能解决你的问题,请参考以下文章

jquery 如何动态添加、删除class样式

vue中点击div里的当前元素添加class删除其他兄弟元素的class?

idea创建class报错

怎样用jq在某个样式中删除某一条样式

ORACLE SQL 判断数据

jq如何判断含有某个类名的元素是第几个?