ID-ul este un atribut care poate fi adaugat in tag-urile HTML. Prin valoarea data acestui atribut se atribuie un nume unic acelui element. Acest "id" poate fi folosit in stilurile CSS pentru a defini aspectul grafic si aranjarea in pagina a tag-ului respectiv, dar poate fi folosit si in scripturi JavaScript pentru a lucra cu elementele si continutul lor.
Cu valoarea id-ului se poate prelua elementul HTML in JavaScript foarte usor, folosind metoda getElementById()cu urmatoarea sintaxa:
Obiectul returnat de getElementById()
contine proprietati si metode prin care se poate lucra cu partile componente ale acelui element (atribute, continut). O lista cu acestea gasiti la pagina:
marplo.net/javascript/proprietati-metode-element-html
- In continuare sunt prezentate cateva exemple cu unele din aceste proprietati si metode pe care le puteti testa direct pe acest site.
addEventListener()
e o metoda prin care se poate inregistra detectarea de evenimente efectuate pe un element HTML (click, mouseenter, focus, input, etc.).
Sintaxa:
<h4>Exemplu cu addEventListener()</h4> <p id='pr1'>Cand mouse-ul intra pe suprafata Div-ului cu id 'dv1', se schimba culoarea background; iar la click pe el se afiseaza o fereastra alert.</p> <div id='dv1' style='background:#b8eeb9; height:100px; font-weight:700; width:150px;'>Div #dv1<br> - Click Aici -</div> <script> var dv1 = document.getElementById('dv1'); //detecteaza mouseenter dv1.addEventListener('mouseenter', (ev)=>{ // ev.target reprezinta elementul la care sa declansat evenimentul (aici acelasi cu dv1 ) ev.target.style.background ='#ced0fe'; }); //detecteaza click dv1.addEventListener('click', (ev)=>{ alert('Pacea-i Buna'); }); </script>
Returneaza continutul elementului, sau il inlocuieste cu alt continut HTML.
<h4>Exemplu innerHTML</h4> <a id='lnk1' href='//marplo.net' title='MarPlo.net'><em>MarPlo.net</em></a> <ul><li><a href='//gamv.eu' title='GamV.eu'>GamV.eu</a></li></ul> <p>La clic pe urmatorul button preia continutul din primul link (cu id 'lnk1'), apoi il inlocuieste cu altceva si afiseaza continutul initial in consola.</p> <button id='btn1'>Test innerHTML</button> </div> <script> document.getElementById('btn1').addEventListener('click', (ev)=>{ var lnk1 = document.getElementById('lnk1'); //preia continutul html din #lnk1 var cnt = lnk1.innerHTML; //modifica continutul din lnk1 lnk1.innerHTML ='Continut adaugat cu <em>innerHTML</em>'; //arata in consola continutul initial console.log('Continut din #lnk1 era: '+ cnt); }); </script>
getAttribute(attr)
returneaza valoarea atributului 'attr' specificat.
setAttribute(attr, val)
defineste atributul specificat la 'attr' cu valoarea de la 'val'.
<h4>Exemplu getAttribute() si setAttribute()</h4> <p id='pr1' style='background:#fbfbbb; font-size:18px;'>La clic pe urmatorul button se afiseaza la #resp valoarea atributului 'style' din acest paragraf (cu getAttribute() ), apoi defineste alta valoare la atributul 'style' cu setAttribute().</p> <button id='btn1'>Set style</button> <blockquote id='resp'>#resp</blockquote> <script> var prg = document.getElementById('pr1'); document.getElementById('btn1').addEventListener('click', (ev)=>{ document.getElementById('resp').textContent ='style precedent: '+ prg.getAttribute('style'); prg.setAttribute('style', 'background:#dee0fe; font-weight:700;'); }); </script>
Returneaza elementul parinte in care se afla elementul la care e atasat.
<h4>Exemplu parentNode</h4> <div> <p>La clic pe urmatorul button se afiseaza la #resp numele tag-ului elementului parinte (cu tagName) in care e adugat butonul.</p> <button id='btn1'>Parent Tag</button> </div> <blockquote id='resp'>#resp</blockquote> <script> var btn = document.getElementById('btn1'); btn.addEventListener('click', (ev)=>{ document.getElementById('resp').textContent = btn.parentNode.tagName; }); </script>
Cu proprietatea style
se pot defini din JavaScript proprietati de stil CSS la elementele HTML, folosind aceasta sintaxa.
Diferenta apare la proprietatile CSS compuse, cum e "font-weight", "margin-top" sau "border-top-width" si altele similare.
In JavaScript dispare liniuta '-' si cuvintele urmatoare se scriu cu primul caracter majuscula, astfel pentru "font-weight" din CSS in JS este: fontWeight, iar pentru "border-top-width" in JS este: borderTopWidth
<h4>Exemplu cu proprietatea style</h4> <p id='pr1'>La clic pe urmatorul button se definesc la acest paragraf proprietatile CSS 'color' si 'font-size' folosind proprietatea JS 'style'.</p> <button id='btn1'>Set style</button> <script> var prg = document.getElementById('pr1'); document.getElementById('btn1').addEventListener('click', (ev)=>{ prg.style.color ='#0000d0'; prg.style.fontSize ='20px'; }); </script>
Proprietatea value
se foloseste la elemente de formular, aceasta preia sau atribue valori in campurile din formular.
- Pentru a folosi proprietatea "value" impreuna cu getElementById('id'), campul sau caseta de formular la care se face referire trebuie sa aibe un "id".
Iata un exemplu simplu care, la clic pe un buton afiseaza intr-un element HTML textul scris intr-o caseta de tip 'password'.
<h4>Exemplu cu value</h4> <p id='pr1'>La clic pe urmatorul button se afiseaza la #resp valoarea /parola din caseta de tip 'password'.</p> Password: <input type='password' id='inp1' value='marplo.net'><br> <button id='btn1'>Show pass</button> <blockquote id='resp'>#resp</blockquote> <script> var inp = document.getElementById('inp1'); document.getElementById('btn1').addEventListener('click', (ev)=>{ document.getElementById('resp').textContent = inp.value; }); </script>
<p>Cursuri graruite: <mark>MarPlo.net</mark> , jocuri, anime.</p>
a:hover { font-weight: bold; color: #00da01; }
var num = 12.34567; num = num.toFixed(2); alert(num); // 12.35
$arr = file("a_file.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); var_export($arr);
What time is it? It is a quarter to 5. - Cat este ora? E 5 fara un sfert.
¿Qué hora es? Son las tres menos cuarto. - Cat este ora? E 3 fara un sfert.