Các câu trả lời ở đây không thực sự hoàn toàn chính xác. Đóng, nhưng có một trường hợp cạnh.
Sự khác biệt là $ ('body') thực sự chọn phần tử theo tên thẻ, trong khi document.body tham chiếu đến đối tượng trực tiếp trên tài liệu.
Điều đó có nghĩa là nếu bạn (hoặc một tập lệnh giả mạo) ghi đè phần tử document.body (xấu hổ!) $ ('Body') sẽ vẫn hoạt động, nhưng $ (document.body) thì không. Vì vậy, theo định nghĩa chúng không tương đương.
Tôi muốn đoán có những trường hợp biên khác (chẳng hạn như các phần tử được định danh toàn cầu trong IE) cũng sẽ kích hoạt số lượng phần tử nội dung bị ghi đè trên đối tượng tài liệu và tình huống tương tự sẽ áp dụng.