Thử nghiệm jsPerf này cho thấy find () nhanh hơn. Tôi đã tạo ra một bài kiểm tra kỹ lưỡng hơn và nó vẫn có vẻ như find () vượt trội hơn trẻ em ().
Cập nhật: Theo nhận xét của tvanfosson, tôi đã tạo một trường hợp thử nghiệm khác với 16 cấp độ lồng nhau. find () chỉ chậm hơn khi tìm tất cả các div có thể, nhưng find () vẫn vượt trội so với trẻ em () khi chọn cấp độ div đầu tiên.
trẻ em () bắt đầu vượt trội hơn find () khi có hơn 100 cấp độ lồng và khoảng hơn 4000 div để tìm () để vượt qua. Đó là một trường hợp thử nghiệm thô sơ, nhưng tôi vẫn nghĩ rằng find () nhanh hơn trẻ em () trong hầu hết các trường hợp.
Tôi đã xem qua mã jQuery trong Công cụ dành cho nhà phát triển Chrome và nhận thấy rằng trẻ em () bên trong thực hiện các cuộc gọi đến anh chị em (), bộ lọc () và trải qua một vài biểu thức chính hơn so với find ().
find () và children () đáp ứng các nhu cầu khác nhau, nhưng trong trường hợp find () và children () sẽ cho kết quả giống nhau, tôi khuyên bạn nên sử dụng find ().
.find()
và.children()
không giống nhau Cái sau chỉ đi một cấp xuống cây DOM, giống như bộ chọn con.