2010-01-27 16 views
7

Tôi đang tìm một phương thức tương đương để chọn phần tử lớp như thế này $ (". ClassName") trong Jquery cho ExtJS.

Tôi hiểu rằng Ext.get() chỉ có trong một id. Sự giúp đỡ của bạn sẽ được rất nhiều đánh giá cao.

Chúc mừng, Mickey

được sửa đổi:

Hãy để tôi giải thích thêm. Tôi muốn có thể làm một cái gì đó như Ext.get sau khi tôi đã làm một "chọn". Ví dụ:

$(".className").css("width"); 

Tôi hiểu rằng Ext.Element có phương thức getWidth(). Tôi đã hy vọng tôi có thể làm điều gì đó như ...

Ext.select(".className").getWidth(); // it just return me [Object object] 

Có lẽ tôi không hiểu rõ.

Cảm ơn một triệu.

+0

Bạn có thể sử dụng Firebug? cố gắng làm console.dir (Ext.select (". className"). getWidth()); và cho tôi biết bạn thấy gì trong bảng điều khiển. – mck89

+0

Tôi thấy một danh sách các hàm và getWidth nằm trong danh sách. –

+0

Khi tôi thực hiện một cảnh báo, nó trả về [Đối tượng đối tượng] –

Trả lời

11

Tôi nghĩ rằng bạn đang tìm kiếm:

Ext.query(".className"); 

Phương pháp này cho phép bạn để có được những thành tố của chuỗi truy vấn cụ thể như jQuery làm.

EDIT

var els=Ext.query(".className"), ret=[]; 
for(var i=0; i<els.length; i++) 
{ 
    ret.push(els[i].getWidth()); 
} 
+0

Tôi đã chỉnh sửa câu hỏi của mình. Hy vọng bạn có thể giúp tôi ra ngoài. Tôi muốn có thể truy cập các phương thức Ext.Element (ví dụ: getWidth()). Tuy nhiên, phương thức Ext.query được đề xuất của bạn trả về một mảng. –

+0

Tôi hiểu.Tôi đoán ExtJS không thể thanh lịch như Jquery với $ (". ClassName"). Css ("width") để trả về chiều rộng. Cảm ơn rất nhiều. –

+0

Ext.query hữu ích hơn khi sử dụng DomQuery bên ngoài Ext (do đó, nó trả về một mảng đơn giản). Nếu bạn muốn hoạt động trên các đối tượng Element, sử dụng Ext.select. –

13

Vâng, Ext.select() là những gì bạn muốn. Nó trả về một CompositeElement (cùng một API dưới dạng một phần tử duy nhất, nhưng chứa một bộ sưu tập nội bộ của tất cả các phần tử đã chọn). Bạn có thể làm điều này để thấy độ rộng của mỗi yếu tố:

Ext.select('.className').each(function(el){ 
    console.log(el.getWidth()); 
}); 

Cách bạn gọi nó là hữu ích hơn cho hoạt động trên các yếu tố một cách nào đó, ví dụ:

Ext.select('.className').setWidth(100); 
Các vấn đề liên quan