Câu trả lời:
Đối số thứ hai ( ".demo"
trong ví dụ của bạn) là ngữ cảnh , về cơ bản bộ chọn của bạn bị hạn chế để chỉ khớp với con cháu của một ngữ cảnh xác định :
$(expr, context)
Chỉ tương đương với sử dụng find
phương pháp:
$(context).find(expr)
Hãy xem tài liệu của hàm jQuery :
Bối cảnh bộ chọn
Theo mặc định, các bộ chọn thực hiện các tìm kiếm của chúng trong DOM bắt đầu từ gốc tài liệu. Tuy nhiên, một ngữ cảnh thay thế có thể được cung cấp cho tìm kiếm bằng cách sử dụng tham số thứ hai tùy chọn cho
$()
hàm. Ví dụ: nếu trong một hàm gọi lại, chúng tôi muốn thực hiện tìm kiếm một phần tử, chúng tôi có thể hạn chế tìm kiếm đó:
$('div.foo').click(function() {
$('span', this).addClass('bar');
// it will find span elements that are
// descendants of the clicked element (this)
});
Cũng lưu ý rằng bộ chọn bạn đăng "button, input:submit, a"
, được gọi là Bộ chọn nhiều và ở đó bạn có thể chỉ định bất kỳ số bộ chọn nào để kết hợp thành một kết quả duy nhất, chỉ bằng cách phân tách chúng bằng dấu phẩy.