如何使用Jquery$(“something”)在ExtJS中选择类?
我正在寻找一个等效的方法来在Jquery for ExtJS中选择像$(“.className”)这样的类元素 我知道Ext.get()只接收id。非常感谢您的帮助 干杯, 米奇 编辑: 让我进一步解释。我想在我做了一个“选择”之后能够做一些像Ext.get这样的事情。例如:如何使用Jquery$(“something”)在ExtJS中选择类?,extjs,Extjs,我正在寻找一个等效的方法来在Jquery for ExtJS中选择像$(“.className”)这样的类元素 我知道Ext.get()只接收id。非常感谢您的帮助 干杯, 米奇 编辑: 让我进一步解释。我想在我做了一个“选择”之后能够做一些像Ext.get这样的事情。例如: $(".className").css("width"); 我知道Ext.Element有getWidth()方法。我希望我能做一些像 Ext.select(".className").getWidth(); // it
$(".className").css("width");
我知道Ext.Element有getWidth()方法。我希望我能做一些像
Ext.select(".className").getWidth(); // it just return me [Object object]
也许我不太明白
非常感谢。我想您正在寻找:
Ext.query(".className");
此方法允许您像jQuery一样通过给定的查询字符串获取元素
编辑
var els=Ext.query(".className"), ret=[];
for(var i=0; i<els.length; i++)
{
ret.push(els[i].getWidth());
}
var els=Ext.query(“.className”),ret=[];
for(var i=0;iYes)是您想要的。它返回(与单个元素相同的API,但包含所有选定元素的内部集合)。您可以执行此操作以查看每个元素的宽度:
Ext.select('.className').each(function(el){
console.log(el.getWidth());
});
您调用它的方式对于以某种方式对元素进行操作更为有用,例如:
Ext.select('.className').setWidth(100);
如果需要该组件,可以使用:
Ext4及以上版本。
Ext.ComponentQuery.query('panel[cls=myCls]');
您将获得这些组件的名称和数组
来源:我已经编辑了我的问题。希望你能帮助我。我希望能够访问Ext.Element方法(即getWidth())。但是,你建议的Ext.query方法返回一个数组。我明白了。我想ExtJS不能像Jquery那样优雅地使用$(“.className”).css(“width”)返回宽度。感谢alot.Ext.query在Ext之外使用DomQuery时更有用(因此,它返回一个普通数组)。如果要对元素对象进行操作,请使用Ext.select.for而不是for
循环,使用ret=Ext.array.map(els,函数(项){return item.getWidth();})会更干净
。你能用Firebug吗?试着用console.dir(Ext.select(“.className”).getWidth();告诉我你在控制台中看到了什么。我看到了一个函数列表,getWidth在列表中。当我发出警报时,它返回[Object Object]class=className的元素是否更多?是的,同一个类中有多个元素。