Відповіді:
Другий аргумент ( ".demo"у вашому прикладі) - це контекст , в основному ваш селектор обмежений, щоб відповідати лише нащадкам визначеного контексту :
$(expr, context)
Є рівнозначним для використання findметоду:
$(context).find(expr)
Погляньте на документацію функції jQuery :
Контекст вибору
За замовчуванням селектори виконують пошук у DOM, починаючи з кореня документа. Однак для пошуку може бути заданий альтернативний контекст, використовуючи функціональний другий параметр
$()функції. Наприклад, якщо в межах функції зворотного виклику ми хочемо здійснити пошук елемента, ми можемо обмежити цей пошук:
$('div.foo').click(function() {
$('span', this).addClass('bar');
// it will find span elements that are
// descendants of the clicked element (this)
});
Також зауважте, що селектор, який ви розміщуєте "button, input:submit, a", називається множинним селектором , і там ви можете вказати будь-яку кількість селекторів для об'єднання в єдиний результат, просто розділивши їх комою.