2014-07-24 15 views
8

Okey, vì vậy, thời gian gần đây, tôi thấy điều này: https://angularjs.org/là thuộc tính html tùy chỉnh mà không có tiền tố data- * là thuộc tính hợp lệ?

tôi nhận thấy rằng họ sử dụng tùy chỉnh thuộc tính thêm tiền tố "ng-"

Từ bài viết, như: http://html5doctor.com/html5-custom-data-attributes/

hoặc thậm chí stackoverflow: https://stackoverflow.com/a/17091848/2803917

Và có nhiều hơn nữa, chỉ có VALID (im không nói về thực tế, rằng chúng hoạt động anyways) tiền tố để sử dụng là "data-". Vì vậy, ai đó có thể giải thích cho tôi, làm thế nào nó có thể được, rằng những, triệu dự án và các công ty, sử dụng một tiền tố không hợp lệ cho các thuộc tính phần tử html tùy chỉnh và không ai có vẻ để chăm sóc? Không. Hoặc tôi đang thiếu thứ gì đó?

Tôi thực sự đánh giá cao một số suy nghĩ hoặc thậm chí là nguồn thông tin, không chỉ là các văn bản như "mọi người làm điều đó" và "đừng bận tâm và rời khỏi nó".

+1

Thành thực mà nói, mặc dù những gì câu trả lời khác là có? Tuy nhiên, các thuộc tính tùy chỉnh không có tiền tố data- * cũng không chuẩn. – BoltClock

+0

Chúng không phải là "Không hợp lệ" chúng không phải là tiêu chuẩn. – CENT1PEDE

Trả lời

5

Thuộc tính tùy chỉnh phải bắt đầu bằng dữ liệu hoặc x- hoặc chúng không hợp lệ. Điều này có thể gây ra sự cố trong các trình duyệt trong tương lai và trình xác thực HTML sẽ cho biết chúng không hợp lệ.

Xem: What is the difference between ng-app and data-ng-app?

Và: http://www.w3.org/TR/2011/WD-html5-20110525/elements.html#embedding-custom-non-visible-data-with-the-data-attributes

+0

Vì vậy, tôi đúng, chúng không hợp lệ, sau cùng, phải không? – ExClouds

+0

Có ............ – Richard

+1

Xin lưu ý rằng một số khung công tác js sử dụng cách tiếp cận tương tự - ví dụ: Vue js sử dụng thuộc tính "v-" của chúng - tự động loại bỏ các thuộc tính này (chuyển đổi chúng thành một thứ hữu ích) khi tải trang trước khi bất kỳ thứ gì được trình duyệt hiển thị, do đó làm cho kết quả html hoàn toàn hợp lệ. Tôi nghĩ rằng Angular cũng làm như vậy. Trình duyệt không thực sự quan tâm đến html không được chủ động chứa/hiển thị trong DOM. – Arthur

Các vấn đề liên quan