Pentru HTML 4, răspunsul este tehnic:
NAME identificatori ID și trebuie să înceapă cu o literă ([A-Za-z]), care poate fi urmat orice număr de litere, cifre ([0-9]), o cratimă ( "-"), de subliniere ( "_"). colonii (":") și perioade (".").
HTML 5 este chiar mai permisiv, spunând doar că identificatorul trebuie să conțină cel puțin un caracter și să nu conțină spații.
Atributul id este sensibil la minuscule în XHTML.
Puteți simplifica sarcinile de dezvoltare prin respectarea strictă a convenției de numire. De exemplu, dacă restricționați complet literele minuscule și separați întotdeauna cuvintele cu cratime sau subliniere (dar nu ambele, selectați unul și nu utilizați niciodată altul), atunci aveți un șablon simplu de reținut. Nu vei fi niciodata surprins: "a fost primul nume sau primul nume?" Pentru ca veti sti mereu ca trebuie sa introduceti first_name. Preferați cămilă? Apoi, limitați-vă la acest lucru, fără o cratimă sau subliniere, și întotdeauna, utilizați în mod constant majuscule sau litere mici pentru primul caracter, nu le amestecați.
NAME identificatori ID și trebuie să înceapă cu o literă ([A-Za-z]), care poate fi urmat orice număr de litere, cifre ([0-9]), o cratimă ( "-"), de subliniere ( "_"). colonii (":") și perioade (".").
O greșeală obișnuită este utilizarea unui identificator care începe cu o cifră.
Puteți folosi tehnic colonii și perioadele în atributele id / name, dar aș recomanda cu tărie evitarea ambelor.
Dacă specificați elementul de identificare "my.cool:thing" elementului dvs., selectorul CSS va arăta astfel:
De fapt, se spune: "Un element cu identificatorul" meu ", clasa" clasă "și" pseudo-selector "în" CSS ".
Stick la AZ de orice caz, numere, sublinieri și cratițe. Și, așa cum am menționat mai sus, asigurați-vă că identitatea dvs. este unică.
Aceasta ar trebui să fie prima dumneavoastră preocupare.
Trebuie să corespundă strict
Dar jquery pare să aibă probleme cu colonii, deci este mai bine să le eviți.
Pentru a scapa de restricțiile suplimentare privind atributul id, consultați aici. Singurele cerințe rămase (cu excepția celei unice din document):
- valoarea trebuie să conțină cel puțin un caracter (nu poate fi gol)
- nu poate conține spații.
PRE-HTML5:
Identificatorul trebuie să se potrivească:
- Începeți cu AZ sau cu az
- Poate conține - (liniuță), _ (subliniază). (colon) și. (Perioada)
dar ar trebui evitate. și. datorită:
De exemplu, elementul de identificare poate fi marcat ca «ab: c» și indică stylesheet ca #ab: c, dar, de asemenea, ca un identificator de element, un identificator, aceasta poate însemna «o», clasa «b», pseudo selectorul «c». Este mai bine să evitați confuzia și să evitați utilizarea. și: în general.
În practică, multe site-uri utilizează atributele id care încep cu cifre, deși acest lucru este tehnic invalid HTML.
Specificația proiectului HTML 5 slăbește regulile pentru atributele id și name. Acum sunt pur și simplu șiruri opace care nu pot conține spații.
HTML5: valori valide pentru identificatorul și atributele clasei
Începând cu HTML5, singurele restricții privind valoarea ID sunt:
- trebuie să fie unic în document
- nu pot conține spații
- trebuie să conțină cel puțin un caracter
Reguli similare se aplică clasei (cu excepția unicității, desigur).
Astfel, valoarea poate fi toate cifrele, doar o singură cifră, numai semne de punctuație, includ caractere speciale, orice. Pur și simplu nu există lacune. Acest lucru este foarte diferit de HTML4.
În HTML 4, valorile identificatorului trebuie să înceapă cu o literă, care poate apoi să urmeze numai litere, cifre, cratime, subliniere, coloane și perioade.
În HTML5, sunt valide:
De exemplu, în HTML5, puteți utiliza următorul identificator:
Cu toate acestea, acest lucru nu este valabil în CSS:
Din specificația CSS2.1:
În CSS, identificatori (inclusiv nume de elemente, clase, și ID-urile din selectori) pot conține numai caracterele [a-zA-Z0-9] și ISO 10646 caractere U + 00A0 și mai mare, plus cratima (-) și subliniere (_); ei nu pot începe cu o cifră, două linii sau cratime urmate de o cifră.
În cele mai multe cazuri, puteți evita caracterele în contexte în care acestea au limite sau semnificații speciale.
Atributul id specifică identificatorul unic al elementului său (ID).
Valoarea trebuie să fie unică în rândul tuturor identificatorilor din subfaza de origine a elementului și trebuie să conțină cel puțin un caracter. Valoarea nu poate conține spații.
Notă. Nu există alte restricții privind forma pe care un identificator o poate lua; în special, identificatorii pot consta doar din cifre, încep cu un număr, încep cu o subliniere, constau doar din semne de punctuație și așa mai departe.
Un atribut, dacă este specificat, trebuie să aibă o valoare care este un set de token-uri separate de spațiu, reprezentând diferitele clase la care aparține elementul.
Clasele atribuite prin elementul HTML constau din toate clasele returnate atunci când valoarea atributului de clasă este împărțită în spații. (Duplicatele sunt ignorate.)
Pentru utilizarea cu CSS și JQuery, sunt permise căsuțele, sublinierile, perioadele, coloanele, numerele și literele. Următoarele ar trebui să funcționeze, dar trebuie să fie unice pe întreaga pagină și ar trebui să înceapă și cu litera [A-Za-z].
Lucrul cu coloanele și perioadele necesită un pic mai mult de lucru, dar puteți face acest lucru, după cum arată următorul exemplu.
Rețineți că identificatorul trebuie să fie unic, adică documentul nu trebuie să aibă mai multe elemente cu aceeași valoare id.
Reguli de conținut pentru ID-urile din HTML5 (cu excepția unicității):
Aceasta este specificația W3 pentru ID (de la MDN):
Mai multe informații:
Pentru a vă referi la un id cu o perioadă în el, trebuie să utilizați un backslash. Nu sunt sigur dacă acest lucru este același pentru o cratimă sau un subliniere. De exemplu: HTML
Din specificația HTML 4.
NAME identificatori ID și trebuie să înceapă cu o literă ([A-Za-z]), care poate fi urmat orice număr de litere, cifre ([0-9]), o cratimă ( "-"), de subliniere ( "_"). colonii (":") și perioade (".").
EDIT: D-le! Apăsați butonul din nou!
De asemenea, nu uitați niciodată că identificatorul este unic. După utilizare, este posibil ca valoarea identificatorului să nu fie afișată oriunde în document.
Puteți avea mai mulți identificatori, dar toate au un înțeles unic.
Pe de altă parte, există o clasă de elemente. La fel ca ID-ul, acesta poate apărea de mai multe ori, dar valoarea poate fi folosită din nou și din nou.
Se pare că, deși două puncte (:) și perioadele (.) Valabile în caietul de sarcini HTML, acestea nu sunt valabile ca un selector ID-ul în CSS, astfel încât, probabil, cel mai bine evitate, dacă doriți să le utilizați în acest scop.
Valoarea trebuie să fie unică în rândul tuturor identificatorilor din subfaza de origine a elementului și trebuie să conțină cel puțin un caracter. Valoarea nu poate conține spații.
Cel puțin un caracter, fără spații.
- Identificatorii sunt cei mai potriviți pentru identificarea părților din aspectul dvs., deci nu specificați același nume pentru identificator și clasă
- ID-ul vă permite să utilizați caractere alfanumerice și speciale
- dar evitați utilizarea #. *. #. *. simboluri
- lacune inacceptabile
- Nu începeți cu un număr sau cu o cratimă urmată de o cifră
- caz delicat
- folosind selectorii de identificare este mai rapid decât utilizarea selectorilor de clasă
- folosiți liniuța "-" (sublinierea "_" poate folosi, de asemenea, dar nu este utilă pentru SEO) pentru nume de clase lungi CSS sau Id
- Dacă regula are un selector de identificator ca selector cheie, nu adăugați numele etichetei la această regulă. Deoarece identificatorii sunt unici, adăugarea unui nume de etichetă va fi inutilă pentru a încetini procesul de potrivire.
- În HTML5, atributul id poate fi utilizat pentru orice element HTML, iar în HTML 4.01, atributul id nu poate fi utilizat cu:
, , , , ,