Tôi sẽ cố gắng giải quyết câu hỏi này tốt nhất có thể.
1 - Như tôi đã nói trong nhận xét, Tránh tạo kiểu nội tuyến. Đầu tiên và quan trọng nhất là vì kiểu dáng nội tuyến làm hỏng DRY. Phải lặp lại điều tương tự cho điều này là rất xấu để bảo trì và phát triển vì thay vì thay đổi mã khi bạn phải thay đổi nó ở ~ 100 địa điểm.
2 - Tránh kiểu dáng nội tuyến cũng tốt cho khả năng truy cập, một số trình đọc màn hình và trình thu thập thông tin của công cụ tìm kiếm lập chỉ mục công việc và đọc công việc dựa trên bộ chọn css và do đó sử dụng tạo kiểu nội tuyến sẽ buộc họ bỏ qua hoặc hiểu sai.
3 - Khi làm việc với tư cách nhà phát triển, thật dễ dàng để tạo kiểu nội tuyến "chỉ vì niềm vui" nhưng những gì bạn đang thực sự làm là trộn lẫn các mối quan tâm. HTML là nội dung và CSS là thiết kế. Trộn hai thứ này thường dẫn đến đau đầu và làm công việc của tôi với tư cách là một nhà phát triển đến sau khi bạn đau đớn vì tôi không biết phong cách và cách thức.
Bây giờ, vào hiệu suất.
Khi bạn sử dụng kiểu nội tuyến, điều bạn đang nói với trình duyệt về cơ bản là "này, vì mỗi lần xem trang đều áp dụng các kiểu này cho tất cả các yếu tố này". Bây giờ, điều này chỉ trở nên thực sự rõ ràng tại sao điều này là xấu. Bạn không có khả năng lưu trữ và lưu trữ css của bạn và về cơ bản buộc trình duyệt phải định lại phong cách của bạn mọi lúc. Sử dụng một tệp CSS bên ngoài sẽ thực sự giúp bạn tăng tốc trang web của mình kể từ khi trình duyệt lưu trữ nó.
Đó là phần css.
javascript bạn đã hỏi.
Như tôi đã nói, hãy ẩn mọi thứ bằng css và hiển thị bằng javascript. Bây giờ tại sao bạn muốn làm điều này thay vì kéo tất cả mọi thứ vào? Vâng, bạn có thể làm cả hai. Nếu bạn chỉ là một kinh nghiệm webbrowser thì bạn có thể làm một trong hai, nó không quan trọng. Bản thân tôi thích có nội dung trong DOM vì nó liên quan đến nội dung và nếu bạn là một ứng dụng lớn có hàng chục cuộc gọi ajax sẽ chỉ làm cho việc bảo trì trở nên khó khăn hơn. Tôi tin rằng nếu bạn phải ajax công cụ trong chắc chắn rằng nó đếm và hợp lý và không chỉ cho các kicks (tôi nghĩ rằng điều này áp dụng nếu chỉ có bạn jQuery và đồng bằng javascript theo ý của bạn).
Nếu bạn đang làm việc với backbone.js, ví dụ, dựa trên lượt xem và giới thiệu một số dạng "MVC" vào giao diện người dùng cho phép bạn có chế độ xem với các bản xem trước có thể lấy nội dung từ máy chủ.
Hy vọng rằng sẽ giúp một chút khi đưa ra quyết định! :)
Nguồn
2013-04-24 07:21:38
+1 Câu hỏi hay - Ẩn chúng bằng CSS và chuyển đổi chúng bằng JS. Không bao giờ nội tuyến. không bao giờ từng tạo kiểu nội tuyến. –
Ngoài ra còn có một số giải pháp/giải pháp “JS Templating” trên mạng, có thể giúp ích./Một câu hỏi quan trọng khác là, các hộp thoại/tab này khác nhau bao nhiêu trong cấu trúc HTML của chúng? Có lẽ nó sẽ là đủ để chỉ làm cho _data_ có sẵn cho JS (JSON,…) và có nó điền nó vào đúng nơi. – CBroe