HTML5: ค่าที่อนุญาตสำหรับ ID และแอตทริบิวต์ของคลาส
ในฐานะของ HTML5 ข้อ จำกัด เพียงอย่างเดียวของค่าของ ID คือ:
- จะต้องไม่ซ้ำกันในเอกสาร
- ต้องไม่มีอักขระเว้นวรรค
- ต้องมีอักขระอย่างน้อยหนึ่งตัว
กฎที่คล้ายกันนำไปใช้กับชั้นเรียน (ยกเว้นสำหรับเอกลักษณ์ของหลักสูตร)
ดังนั้นค่าสามารถเป็นตัวเลขทั้งหมดเพียงหนึ่งหลักตัวอักษรเครื่องหมายวรรคตอนรวมถึงอักขระพิเศษ เพียงแค่ไม่มีช่องว่าง สิ่งนี้แตกต่างจาก HTML4 มาก
ใน HTML 4 ค่า ID ต้องเริ่มต้นด้วยตัวอักษรซึ่งสามารถตามด้วยตัวอักษรตัวเลขยัติภังค์ขีดล่างเครื่องหมายจุดคู่และจุด
ใน HTML5 สิ่งเหล่านี้ใช้ได้:
<div id="999"> ... </div>
<div id="#%LV-||"> ... </div>
<div id="____V"> ... </div>
<div id="⌘⌥"> ... </div>
<div id="♥"> ... </div>
<div id="{}"> ... </div>
<div id="©"> ... </div>
<div id="♤₩¤☆€~¥"> ... </div>
เพียงจำไว้ว่าการใช้ตัวเลขเครื่องหมายวรรคตอนหรืออักขระพิเศษในมูลค่าของ ID อาจทำให้เกิดปัญหาในบริบทอื่น ๆ (เช่น CSS, JavaScript, regex)
ตัวอย่างเช่น ID ต่อไปนี้ถูกต้องใน HTML5:
<div id="9lions"> ... </div>
อย่างไรก็ตามมันไม่ถูกต้องใน CSS:
จากสเปค CSS2.1:
4.1.3 ตัวละครและกรณี
ใน CSS ตัวระบุ (รวมถึงชื่อองค์ประกอบคลาสและรหัสในตัวเลือก) สามารถมีได้เฉพาะอักขระ [a-zA-Z0-9] และ ISO 10646 ตัวอักษร U + 00A0 และสูงกว่ารวมถึงเครื่องหมายขีดกลาง (-) และขีดล่าง ( _); พวกเขาไม่สามารถเริ่มต้นด้วยหลักสองยัติภังค์หรือยัติภังค์ตามหลัก
ในกรณีส่วนใหญ่คุณอาจสามารถหลบหนีอักขระในบริบทที่มีข้อ จำกัด หรือความหมายพิเศษ
การอ้างอิง W3C
HTML5
3.2.5.1 id
คุณลักษณะ
id
แอตทริบิวต์ระบุองค์ประกอบของมันบ่งชี้เฉพาะ (ID)
ค่าจะต้องไม่ซ้ำกันในหมู่ ID ทั้งหมดในทรีย่อยขององค์ประกอบและต้องมีอักขระอย่างน้อยหนึ่งตัว ค่าต้องไม่มีอักขระช่องว่างใด ๆ
หมายเหตุ: ไม่มีข้อ จำกัด อื่น ๆ เกี่ยวกับรูปแบบที่ ID สามารถใช้ โดยเฉพาะ ID อาจประกอบด้วยตัวเลขเพียงหลักเริ่มต้นด้วยตัวเลขเริ่มต้นด้วยเครื่องหมายขีดล่างประกอบด้วยเครื่องหมายวรรคตอนเป็นต้น
3.2.5.7 class
คุณลักษณะ
แอ็ตทริบิวต์หากระบุต้องมีค่าที่เป็นชุดของโทเค็นที่คั่นด้วยช่องว่างซึ่งเป็นตัวแทนของคลาสต่างๆที่องค์ประกอบนั้นเป็นเจ้าของ
คลาสที่องค์ประกอบ HTML ได้กำหนดให้ประกอบด้วยคลาสทั้งหมดที่ส่งคืนเมื่อค่าของแอ็ตทริบิวต์ class ถูกแบ่งบนช่องว่าง (ซ้ำจะถูกละเว้น)
ไม่มีข้อ จำกัด เพิ่มเติมเกี่ยวกับผู้เขียนโทเค็นสามารถใช้ในแอตทริบิวต์ class แต่ผู้เขียนได้รับการสนับสนุนให้ใช้ค่าที่อธิบายลักษณะของเนื้อหามากกว่าค่าที่อธิบายถึงการนำเสนอเนื้อหาที่ต้องการ