Colecciones de jQuery

Cuando usas jQuery para encontrar elementos, jQuery regresa un objeto de colección de jQuery:
var $heading = $('h1');
Es una práctica común empezar los nombres de las variables como esas con un signo $ para mostrar que almacenan colecciones de objetos de jQuery. Eso ayuda a distinguirlas de las variables que almacenan nodos del DOM.
Si quisieras recuperar un nodo del DOM a partir de un objeto de jQuery, entonces puedes tratar al objeto de jQuery como un arreglo y usar notación de corchetes:
var heading = $heading[0];
Si quisieras convertir un nodo del DOM en un objeto de jQuery, puedes pasarlo a la función jQuery:
var $heading = $(heading);

Iterar a través de colecciones

Si quisieras iterar a través de múltiples elementos en una colección, puedes usar un bucle for normal o el método each() de jQuery:
$("p").each(function(index, element) { 
    $(elem).text( $(element).text() + "!!"); 
);
Cuando llamas la función each(), debes pasarle una 'función callback'. jQuery llamará esa función callback para cada elemento en la colección y le pasará el índice y elemento actual a la función.
jQuery también establecerá el contexto de la función al elemento actual, lo que significa que puedes referenciar al elemento con la palabra clave this:
$("p").each(function() { 
    $(elem).text( $(this).text() + "!!"); 
);