jQuery es una librería JavaScript rápida, pequeña, y rica en funcionalidades.
Ej.: Underscore, YUI, MooTools
Ej.: Backbone, Knockout, Angular, Ember
jQuery ha cambiado la forma en que millones de personas escriben JavaScript.
Simplifica mucho operaciones como recorrer y manipular el DOM, el manejo de eventos, animaciones, o Ajax con una sencilla API que funciona en multitud de navegadores.
La programación web con JavaScript
La programación web con JavaScript
$(document).ready
Selectores
Una página no puede ser manipulada hasta que el documento esté "listo" (ready).
El código JavaScript que se ejecute antes de que el documento esté listo podría generar errores (excepciones) y/o no funcionar, si depende de que el DOM esté totalmente cargado.
El código incluido dentro de un bloque
$( document ).ready()
sólo se ejecutará una vez, y sólo cuando el DOM esté totalmente cargado.
<label id="mike">¡Hola!</label>
<input type="text" id="sully" />
$('label'); // obtengo la label
$('input'); // obtengo el input
<label id="mike">¡Hola!</label>
<input type="text" id="sully" />
$('#mike'); // obtengo la label
$('#sully'); // obtengo el input
<label id="mike" class="green">¡Hola!</label>
<input type="text" id="sully" class="blue" />
$('.green'); // obtengo la label
$('.blue'); // obtengo el input
$('[name="rayo_mcqueen"]'); // donde atributo name es igual a...
$('[name*="_mc"]'); // donde atributo name contiene...
$('[name^="rayo"]'); // donde atributo name empieza por...
$('[name$="mcqueen"]'); // donde atributo name acaba por...
$('[name!="rayo_mcqueen"]'); // donde atributo name es diferente de...
<input type="text" name="rayo_mcqueen" />
<input type="text" name="sally_carrera" />
$('div input'); // input que se encuentra dentro de un div
$('ul li'); // items dentro de una lista
<div>
<input type="text" name="rayo_mcqueen" />
</div>
<input type="text" name="sally_carrera" />
<ul>
<li>Uno</li>
<li>Dos</li>
<li>Tres</li>
</ul>
a cholón
<div id="axiom">
<input type="text" id="eva" />
<input type="text" id="wallE" />
</div>
$('#axiom').length; // 1
$('#wallE').length; // 1
$('input').length; // 2
$('.wallE').length; // 0
uno para gobernalos a todos...
$('div').css('background-color', 'red')
.css('font-size', '20px')
.css('font-weight', 'bold')
.css('color', 'white');
$('div').attr('id', 'dory');
$('a').attr('href', '#inicio');
$('input').prop('disabled', true);
$('input').val('sigue nadando ♫!');
<div id="dory"></div>
<a href="#inicio"></a>
<input type="text" disabled />
<input type="text" value="sigue nadando ♫!" />
$('input')
.css('background-color', 'deepskyblue')
.css('border', '2px solid grey')
.prop('id', 'marlin')
.value('we scare because we care')
.show();
<input type="text" style="display: none" />
Con jQuery podemos encadenar acciones / métodos.
El encadenado nos permite ejecutar múltiples métodos de jQuery (sobre el mismo elemento) con una sola declaración.