2012-01-31 8 views
9

Estaba leyendo una excelente explicación del cuadro combinado de jQuery UI por Jörn Zaefferer (here's the link).¿Qué es esto elemento en una función jquery?

La cuarta línea de código lee var select = this.element.hide()

Jörn dice:

La var seleccione referencias al elemento de selección en el que se aplica el cuadro combinado. Para reemplazar el seleccionar con la entrada de texto, la selección está oculta.

estoy aprendiendo jQuery, y yo no recuerdo haber visto this.element antes. ¿Cómo es diferente que solo este?

+0

... Y, donde el elemento-nombre? '$ (X) .html()' muestra el contenido del elemento, ¡pero no el elemento en sí! –

+0

AQUÍ: 'var elementName = $ (this) .get (0) .tagName.toLowerCase();' –

Respuesta

11

Dentro de un widget, "esto" se refiere al objeto de widget en sí, que contiene un "elemento" de propiedad. Ese "elemento" apunta al elemento html para el cual se ha aplicado ese widget.

+0

Gracias, pensé que este podría ser el caso. Entonces un widget es en realidad un objeto en sí mismo. A diferencia de, por ejemplo, un complemento, donde "esto" se referiría al objeto al que lo está llamando. –

2

El hecho de que aquí se haga referencia probablemente no sea el objeto de consulta, y este elemento se ha utilizado para almacenar en caché el objeto de consulta.

7

Puede pensar de esta manera.

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 

No estoy seguro de si esto podría ayudarlo.

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

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

sí que ayuda con el concepto, gracias –

Cuestiones relacionadas