2012-01-31 38 views
9

Tôi đã đọc giải thích tuyệt vời về combobox jQuery UI của Jörn Zaefferer (here's the link).this.element trong một chức năng jquery là gì?

Dòng thứ tư của mã đọc var select = this.element.hide()

Jörn nói:

Các var chọn tài liệu tham khảo các yếu tố lựa chọn mà trên đó các combobox được áp dụng. Để thay thế lựa chọn bằng kiểu nhập văn bản, lựa chọn sẽ bị ẩn.

Tôi đang học jQuery ngay bây giờ và tôi không nhớ lần xem this.element trước đây. Điểm khác biệt của nó là chỉ này?

+0

... Và, ở đâu tên phần tử? '$ (X) .html()' hiển thị nội dung của phần tử, nhưng không hiển thị chính phần tử đó! –

+0

Ở đây: 'var elementName = $ (this) .get (0) .tagName.toLowerCase();' –

Trả lời

11

Bên trong một tiện ích con "this" đề cập đến chính đối tượng tiện ích, chứa phần tử "thuộc tính". "Phần tử" đó trỏ đến phần tử html mà tiện ích con đã được áp dụng.

+0

Cảm ơn, tôi nghĩ rằng đây có thể là trường hợp. Vì vậy, một widget thực sự là một đối tượng theo đúng nghĩa của nó. Ngược lại, giả sử, một plugin, trong đó "this" sẽ đề cập đến đối tượng bạn đang gọi nó. –

2

Điều này được giới thiệu ở đây có lẽ không phải là đối tượng truy vấn và this.element đã được sử dụng để lưu vào bộ nhớ cache đối tượng truy vấn.

7

Bạn có thể nghĩ về nó như thế này.

this.element // is just normal jquery object 

// for example 
var element = $('.current-selected-dropdown'); 

// and then put this together inside ui object 
this.element = element 

Tôi không chắc liệu điều này có giúp ích cho bạn hay không.

var Dropdown = { 
    element: null, 
    _init: function() { 

     // here is the same this.element that you referred to. 
     this.element = $('.dropdown'); 
    } 
} 
+0

có điều đó giúp với khái niệm, cảm ơn –