使用ExtJS选择不包含特定ID的元素

时间:2010-06-02 17:58:43

标签: javascript extjs css3

我正在尝试选择表单中的所有<input>元素,但ID包含单词foobar的元素除外。我怎么能用ExtJS 2.3.0做到这一点?我尝试了以下内容:

Ext.query("select,input:not([id*=foo][id*=bar])", "SomeForm");`

......但它不起作用。排除其中包含foo的ID似乎工作正常:

Ext.query("select,input:not([id*=foo])", "SomeForm")`

我只是不确定如何添加第二个ID子字符串。任何想法?

3 个答案:

答案 0 :(得分:3)

不确定如何组合这样的选择器,但我认为如果你使用过滤器功能,你可以过滤掉第一个查询:

Ext.DomQuery.filter(Ext.query('input:not([id*=foo])','SomeForm'),'input:not([id*=bar])');

请注意,我只是玩了一下这个功能并且该功能有效:

Ext.query('input:not([id*=foo]):not([id*=bar])');

但这给了我你提到的同样的错误:

Ext.query('input:not([id*=foo]):not([id*=bar])','SomeForm');

因此,当您传递具有多个属性选择器的特定根时,在我看来就像是ExtJS查询函数的错误。

答案 1 :(得分:1)

Ext.query("select,input:not([id*=foo]):not([id*=bar])", "SomeForm")

答案 2 :(得分:1)

Ext.query("select,input:not([id*=foo]):not([id*=bar])", "SomeForm")`试试这个