2010-03-15 58 views
5

Tôi vừa mới kết thúc một dự án phát triển lớn. Chúng tôi đang trên một thời gian chặt chẽ, do đó, rất nhiều tối ưu hóa đã được "trì hoãn". Bây giờ chúng tôi đã gặp thời hạn của mình, chúng tôi sẽ quay lại và cố gắng tối ưu hóa mọi thứ.Tối ưu hóa jQuery

Câu hỏi của tôi là: Một số điều quan trọng nhất bạn tìm kiếm khi tối ưu hóa các trang web jQuery. Thay vào đó tôi rất muốn nghe các trang web/danh sách có tư vấn đặc biệt tốt để tối ưu hóa jQuery.

Tôi đã đọc một số bài viết, http://www.tvidesign.co.uk/blog/improve-your-jquery-25-excellent-tips.aspx là một bài đọc đặc biệt tốt.

+2

1 cho "25 lời khuyên tuyệt vời" trang web – ram

+0

chính xác trùng lặp: http://stackoverflow.com/questions/1587375/what-are-some- quick-tips-for-rising-jquery-performance –

+0

Tôi đã tìm thấy tối ưu hóa tốt nhất duy nhất để theo dõi id> tên phần tử> ưu tiên chọn tên lớp. Nếu có thể, sử dụng một id nếu bạn có thể, nếu không sử dụng và các yếu tố, nếu không sử dụng một lớp học. #my_id tốt hơn so với div.my_class tốt hơn .myclass – aepheus

Trả lời

1

chủ yếu là tôi nhìn selectors đó lặp lại themselfs .. hầu hết các lần này có thể được lưu vào một biến và sử dụng hơn và hơn, ví dụ:

$('.some_class').doSomthing(); 
$('.some_class').doSomethingElse(); 

có thể chuyển thành:

selectedItems = $('.some_class'); 
selectedItems.doSomething(); selectedItems.doSomethingElse(); 

theo cách này, công cụ chọn đi qua DOM một lần ... sau đó bạn có thể tiếp tục sử dụng biến làm đối tượng jquery nhờ thực tế rằng mọi phương thức jquery đều trả về đối tượng jquery.

Chỉ cần một mũi ra khỏi nhiều trên mạng ...

+1

Hoặc vào '$ ('. Some_class'). DoSomething(). DoSomethingElse()'. Có thể có vẻ khó xử lúc đầu nhưng đó là một tính năng thực sự hữu ích. – Felix

+1

có tất nhiên bạn đúng - nhưng nó không phải lúc nào cũng hoạt động cho mọi tình huống ... chủ yếu là nó, nhưng một số trường hợp cuối bạn có thể cần hoạt động riêng biệt – Ken

+0

Trong khi một cái gì đó như thế này sẽ giúp giảm đáng kể chi phí (thực hiện một cuộc gọi chọn thay vì hai) tôi đoán rằng việc thay đổi thành $ ('td.some_class') trong nhiều ngữ cảnh sẽ mang lại nhiều tiền thưởng hơn là chuỗi sẽ. – aepheus