2012-06-19 27 views

Trả lời

13

Trong HTML5, thuộc tính id là một global attribute và có thể được chỉ định trên bất kỳ yếu tố.


Nếu bạn nhìn qua Document Type Declaration for HTML4, bạn có thể tìm thấy những yếu tố mà không có %attrs; định nghĩa trong danh sách thuộc tính của họ để cho biết họ không hỗ trợ thuộc tính id. Các mục bao gồm ở gần cuối phần "Phần đầu tài liệu": HEAD, TITLE, BASE, META, STYLE, SCRIPTHTML.

Lưu ý rằng mặc dù phần tử PARAM không bao gồm khai báo %attrs; trong danh sách thuộc tính của nó, nhưng rõ ràng cho phép thuộc tính id trong danh sách đó.

<!ATTLIST PARAM 
    id   ID    #IMPLIED -- document-wide unique id -- 
    name  CDATA   #REQUIRED -- property name -- 
    value  CDATA   #IMPLIED -- property value -- 
    valuetype (DATA|REF|OBJECT) DATA -- How to interpret value -- 
    type  %ContentType; #IMPLIED -- content type for value 
             when valuetype=ref -- 
    > 
14

Từ w3schools (vâng, tôi biết ...):

Lưu ý: Thuộc tính id là không hợp lệ trong: <base>, <head>, <html>, <meta>, <param>, <script>, <style><title>.

Lưu ý rằng điều này chỉ hợp lệ đối với HTML4 nhưng giải thích "gần như" của hướng dẫn.

Như những người khác đã chỉ ra, HTML5 chấp nhận id trên tất cả các yếu tố.

+7

Đây là câu trả lời duy nhất tôi từng upvoted trong đó có w3schools. –

+2

"Đặc tả HTML5 nêu rõ rằng các thuộc tính chung có thể được chỉ định trên tất cả các phần tử HTML, ngay cả những thuộc tính không được chỉ định bởi HTML5". https://developer.mozilla.org/en/HTML/Global_attributes –

+0

Những thứ như jQuery Templates (và một số giải pháp khuôn mẫu js khác) yêu cầu ID phải nằm trên các thẻ '