Ce face Atributul id
Atributul id poate fi pus pe orice element și trebuie să fie unic în tot documentul: două elemente nu au voie să aibă același id. Valoarea nu are voie să conțină spații.
Un id are mai multe roluri: este ținta linkurilor interne (href="#contact" derulează pagina la element), leagă un <label> de câmpul lui prin atributul for, este folosit de atribute ARIA (aria-labelledby, aria-describedby) și poate fi găsit rapid din JavaScript cu document.getElementById().
În CSS poți stiliza un element după id cu selectorul #contact, dar acest selector are o specificitate mare și se suprascrie greu. Pentru stiluri se preferă de obicei clasele.
Atribute
| Atribut | Descriere |
|---|---|
id |
Un șir unic în pagină, fără spații. Poate conține litere, cifre, cratime și liniuțe jos; e bine să înceapă cu o literă. |
Exemple
Exemplul 1: Link intern către o secțiune a paginii
Linkul cu href="#program" derulează pagina până la elementul care are id="program".
<nav>
<a href="#program">Program</a>
<a href="#contact">Contact</a>
</nav>
<section id="program">
<h2>Program</h2>
<p>Luni – Vineri, 9:00 – 18:00</p>
</section>
<section id="contact">
<h2>Contact</h2>
<p>Str. Lăpușneanu nr. 10, Iași</p>
</section>
Ce afișează browserul
Două linkuri: „Program” și „Contact”.
La clic pe „Contact”, pagina derulează la secțiunea Contact, iar adresa din bara browserului devine ...#contact.
Exemplul 2: Legarea unei etichete de câmp și citirea din JavaScript
Atributul for al etichetei folosește id-ul câmpului. Același id este folosit de script pentru a citi valoarea.
<label for="nume">Numele tău</label>
<input id="nume" type="text" value="Ana Popescu">
<p id="salut"></p>
<script>
const nume = document.getElementById("nume").value;
document.getElementById("salut").textContent = "Bun venit, " + nume + "!";
</script>
Ce afișează browserul
Numele tău [Ana Popescu]
Bun venit, Ana Popescu!
(clic pe textul „Numele tău” mută cursorul în câmp)
Greșeli frecvente
- Același
idpe mai multe elemente (de exemplu la carduri generate în buclă).getElementById()găsește doar primul element, iar etichetele și linkurile ajung la elementul greșit. - Spații în valoare (
id="date contact"). Valoarea nu e validă; folosește o cratimă:id="date-contact". - Stilizarea întregului site prin selectori
#id. Specificitatea mare face stilurile greu de suprascris; pentru aspect folosește clase.
Comenzi înrudite
Atributul class: Atribuie unui element una sau mai multe clase separate prin spațiu, folosite pentru stiluri CSS și selectare din JavaScript.Atributele data-*: Atribute personalizate care încep cu data- și păstrează informații suplimentare pe un element, citite apoi din JavaScript sau din CSS.<label>: Etichetă accesibilă pentru un control de formular: dând clic pe etichetă, activezi sau bifezi câmpul asociat.<a>: Creează un hyperlink către o altă pagină web, un fișier, o adresă de email, un număr de telefon sau o ancoră din pagină.