2011-06-22 14 views
5

tipo de JavaScript redefine lo que significa una matriz porque una matriz es un objeto con una propiedad .length y métodos como .slice() y .join().¿Qué es un objeto jQuery?

jQuery define un objeto jQuery como "Array like", porque tiene una propiedad length pero no tiene ciertos métodos de matriz como join().

Si tuviera que definir el objeto jQuery como un objeto, y me olvidara de mencionar algo relacionado con una matriz, ¿cómo lo definiría? ¿Qué propiedades tiene además de la longitud?

Supongo que todos los métodos son los que ve en la documentación, excediendo con creces el número de métodos que están en una matriz.

+0

posible duplicado de [¿Qué es una matriz de JavaScript?] (Http://stackoverflow.com/questions/6445010/wha t-es-un-javascript-array) – Neal

+1

La documentación jQuery tiene toda la información que necesita: http://docs.jquery.com/Main_Page – FishBasketGordo

Respuesta

26

Un objeto jQuery es similar a una matriz, lo que significa que contiene cero o más índices (propiedades cuyos nombres son enteros positivos que comienzan con cero). Además de estos índices, un objeto jQuery contiene estas propiedades:

  • length
  • context
  • selector

y también alrededor de 140 métodos heredados (que se definen en el objeto jQuery.prototype - que puede hacer console.dir(jQuery.prototype) para obtener una lista completa ...).

Tenga en cuenta que los objetos jQuery no contienen contienen (ni heredan) los métodos de Array (slice, substr, ...). Si desea ejecutar esos métodos en su objeto jQuery, use call/apply.


Por ejemplo, si usted tiene 3 elementos TEXTAREA en la página y hacer esto:

var j = $('textarea'); 

entonces este j objeto jQuery contendrá estas propiedades:

  • 0 - Referencia para el primer elemento TEXTAREA
  • 1 - referencia al segundo elemento TEXTAREA
  • 2 - referencia a la tercera elemento TEXTAREA
  • length - que es 3
  • context - referencia a la document objeto
  • selector - que es 'textarea'
  • más todos aquellos métodos heredados ...
+0

+1 para el ejemplo de código, increíblemente claro – Philip007

2

el objeto jQuery es un objeto que tiene

  • propiedad
  • propiedades numéricas una longitud que hacen referencia los artículos de la selección (0,1,2,3 ...)
  • enlaces con funciones jQuery
  • propiedades jQuery adicionales

la longitud y propiedades numéricas permiten que el objeto de responder como una matriz. Puede ejecutarlo en un bucle for o utilizar funciones como map o each en él.

Recomendaría usar el depurador de su navegador o Firebug e inspeccionar un objeto jQuery. Eso le enseñará mucho sobre cómo está estructurado.

Cuestiones relacionadas