Si bien existen algunas variaciones conceptuales (por ejemplo, funciones como $ .ajax
) en la API de jQuery, el concepto central detrás de jQuery es "encontrar algo, hacer algo". Más específicamente, seleccione los elementos DOM de un documento HTML y luego haga algo con ellos usando los métodos jQuery. Este es el concepto del panorama general..
Para llevar este concepto a casa, reflexiona sobre el siguiente código.
Tenga en cuenta que en este documento HTML estamos utilizando jQuery para seleccionar un elemento DOM (). Con algo seleccionado, luego hacemos algo con la selección invocando los métodos jQuery
texto()
, attr ()
, y appendTo ()
.
los texto
método llamado en el envuelto elemento y establecer el texto de visualización del elemento para que sea "jQuery". los
attr
llamada establece el href
atribuir al sitio web jQuery.
Deshacer el concepto fundacional de "encontrar algo, hacer algo" es fundamental para avanzar como desarrollador de jQuery.
Al seleccionar algo y hacer algo es el concepto central detrás de jQuery, me gustaría extender este concepto para incluir la creación de algo también. Por lo tanto, el concepto detrás de jQuery podría extenderse para incluir primero crear algo nuevo, seleccionarlo y luego hacer algo con él. Podríamos llamar a esto el concepto, detrás del concepto, detrás de jQuery..
Lo que estoy intentando hacer obvio es que no está atascado con solo seleccionar algo que ya está en el DOM. También es importante pensar que jQuery se puede usar para crear nuevos elementos DOM y luego hacer algo con estos elementos..
En el ejemplo de código de abajo, creamos una nueva Elemento que no se encuentra en el DOM. Una vez creado, es seleccionado y luego manipulado..
El concepto clave para recoger aquí es que estamos creando el Elemento sobre la marcha y luego operando en él como si ya estuviera en el DOM.
Hay problemas conocidos con los métodos de jQuery que no funcionan correctamente cuando un navegador presenta una página HTML en modo peculiar. Asegúrese de utilizar jQuery cuando el navegador interpreta el HTML en modo estándar o en modo casi estándar utilizando un tipo de documento válido..
Para garantizar una funcionalidad adecuada, los ejemplos de código de este libro utilizan el doctype HTML 5.
jQuery dispara un evento personalizado llamado Listo
cuando el DOM está cargado y disponible para la manipulación. El código que manipula el DOM se puede ejecutar en un controlador para este evento. Este es un patrón común visto con el uso de jQuery.
El siguiente ejemplo presenta tres ejemplos codificados de este evento personalizado en uso.
Tenga en cuenta que puede adjuntar tantos Listo()
Eventos al documento que desee. Usted no está limitado a sólo uno. Se ejecutan en el orden en que fueron agregados..
Típicamente, no queremos esperar a la window.onload
evento. Ese es el punto de usar un evento personalizado como Listo()
eso ejecutará el código antes de que se cargue la ventana, pero después de que el DOM esté listo para ser atravesado y manipulado.
Sin embargo, a veces realmente queremos esperar. Mientras que la costumbre Listo()
El evento es excelente para ejecutar el código una vez que el DOM está disponible, también podemos usar jQuery para ejecutar el código una vez que la página web completa (incluidos todos los recursos) esté completamente cargada.
Esto se puede hacer adjuntando un controlador de eventos de carga a la ventana
objeto. jQuery proporciona el carga()
método de evento que se puede usar para invocar una función una vez que la ventana está completamente cargada. A continuación, proporciono un ejemplo de la carga()
método de evento en uso.
A partir de jQuery 1.3, la biblioteca ya no garantiza que todos los archivos CSS se carguen antes de que se active la costumbre Listo()
evento. Debido a este cambio en jQuery 1.3, siempre debe incluir todos los archivos CSS antes de cualquier código de jQuery. Esto asegurará que el navegador haya analizado el CSS antes de pasar al JavaScript incluido más adelante en el documento HTML. Por supuesto, las imágenes a las que se hace referencia a través de CSS pueden o no descargarse a medida que el navegador analiza el JavaScript..
Al incrustar jQuery en una página web, la mayoría de las personas optan por descargar el código fuente y vincularlo desde un dominio / host personal. Sin embargo, hay otras opciones que involucran a otra persona que aloja el código jQuery para usted.
Google aloja varias versiones del código fuente de jQuery con la intención de que sea utilizado por cualquier persona. Esto es realmente muy útil. En el ejemplo de código de abajo estoy usando un element to include a minified version of jQuery that is hosted by Google.
Google también aloja varias versiones anteriores del código fuente de jQuery, y para cada versión, se proporcionan variantes minified y no minified. Recomiendo usar la variante no minimizada durante el desarrollo, ya que los errores de depuración siempre son más fáciles cuando se trata de código no minificado.
Un beneficio de usar una versión alojada en Google de jQuery es que es confiable, rápido y potencialmente en caché.
La costumbre Listo()
El evento no es del todo necesario. Si su código JavaScript no afecta al DOM, puede incluirlo en cualquier lugar del documento HTML. Esto significa que puedes evitar el Listo()
evento en conjunto si su código JavaScript no depende de que el DOM esté intacto.
La mayoría de los JavaScript de hoy en día, especialmente el código jQuery, implicará manipular el DOM. Esto significa que el DOM tiene que ser analizado completamente por el navegador para que usted pueda operar en él. Este hecho es la razón por la cual los desarrolladores han estado atrapados en el window.onload
Paseo en montaña rusa desde hace un par de años.
Para evitar el uso del Listo()
evento para el código que opera en el DOM, simplemente puede colocar su código en un documento HTML antes del cierre
elemento. Al hacerlo, se asegura que el DOM esté completamente cargado, simplemente porque el navegador analizará el documento de arriba a abajo. Si coloca su código JavaScript en el documento después de los elementos DOM que manipula, no es necesario utilizar Listo()
evento.
En el siguiente ejemplo, he renunciado al uso de Listo()
simplemente colocando mi script antes de que se cierre el cuerpo del documento. Esta es la técnica que utilizo en este libro y en la mayoría de los sitios que construyo.
Hola, soy el DOM! Escritura de distancia!