Respuestas:
El segundo argumento ( ".demo"
en su ejemplo) es el contexto , básicamente su selector está restringido para coincidir solo con descendientes de un contexto determinado :
$(expr, context)
Es equivalente a usar el find
método:
$(context).find(expr)
Eche un vistazo a la documentación de la función jQuery :
Contexto del selector
De forma predeterminada, los selectores realizan sus búsquedas dentro del DOM comenzando en la raíz del documento. Sin embargo, se puede proporcionar un contexto alternativo para la búsqueda utilizando el segundo parámetro opcional de la
$()
función. Por ejemplo, si dentro de una función de devolución de llamada deseamos hacer una búsqueda de un elemento, podemos restringir esa búsqueda:
$('div.foo').click(function() {
$('span', this).addClass('bar');
// it will find span elements that are
// descendants of the clicked element (this)
});
También observe que el selector que publica "button, input:submit, a"
se llama Selector múltiple , y allí puede especificar cualquier número de selectores para combinar en un solo resultado, simplemente separándolos con una coma.