Curs Javascript


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:

document.getElementById('id')
- returneaza un obiect JavaScript cu elementul care are id-ul specificat.

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()

addEventListener() e o metoda prin care se poate inregistra detectarea de evenimente efectuate pe un element HTML (click, mouseenter, focus, input, etc.).
Sintaxa:

elm.addEventListener('event', callF)
Unde 'elm' reprezinta elementul HTML. Cand are loc evenimentul 'event' la acel element, se apeleaza functia de la callF.

Mai multe detalii in tutorialul de la: marplo.net/javascript/detectare-stergere-evenimente-js

- Iata un exemplu, cand mouse-ul intra pe suprafata unui Div, se schimba culoarea background; iar la click pe el se afiseaza o fereastra alert.
<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>

innerHTML

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) si setAttribute(attr, val)

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>

parentNode

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>

Proprietatea style

Cu proprietatea style se pot defini din JavaScript proprietati de stil CSS la elementele HTML, folosind aceasta sintaxa.

elm.style.propName ='value';
Unde 'elm' reprezinta elementul HTML, 'propName' e proprietatea CSS, iar 'value' e valoarea care i-se atribuie.

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>

value

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>

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tag se foloseste pentru a adauga liste in elemente <ul> si <ol>?
<dt> <dd> <li>
<ul>
 <li>http://coursesweb.net/html/</li>
 <li>http://www.marplo.net/html/</li>
</ul>
Care valoare a proprietatii "display" seteaza elementul ca tip bloc si afiseaza un punct in fata?
block list-item inline-block
.some_class {
  display: list-item;
}
Care instructiune JavaScript transforma un obiect in sir JSON.
JSON.parse() JSON.stringify eval()
var obj = {
 "courses": ["php", "javascript", "ajax"]
};
var jsonstr = JSON.stringify(obj);
alert(jsonstr);    // {"courses":["php","javascript","ajax"]}
Indicati clasa PHP folosita pentru a lucra cu elemente HTML si XML in PHP.
stdClass PDO DOMDocument
$strhtml = '<body><div id="dv1">CoursesWeb.net</div></body>';
$dochtml = new DOMDocument();
$dochtml->loadHTML($strhtml);
$elm = $dochtml->getElementById("dv1");
echo $elm->nodeValue;    // CoursesWeb.net
Indicati forma de Prezent Continuu a verbului "to live" (a trai /a locui)
lived living liveing
I`m living here.
- Traiesc /Locuiesc aici.
Care este forma de Gerunziu (sau Participiu Prezent) a verbului "vivir" (a trai /a locui)?
vivió vivido viviendo
Estoy viviendo aquí.
- Traiesc /Locuiesc aici.
Utilizare getElementById

Last accessed pages

  1. Por sau para: Exercitiu 1 (3122)
  2. Trecut nedefinit vs Imperfect (3633)
  3. Indicativ prezent (1525)
  4. Teste spaniola - Tests y ejercicios de Español - Gramática (27655)
  5. Numerale, Numere in limba engleza - Numerals (52661)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (678)
  2. Coduri pt culori (303)
  3. Exercitii engleza - English Tests and exercises - Grammar (301)
  4. Gramatica limbii engleze - Prezentare Generala (295)
  5. Cursuri limba engleza gratuite si lectii online (272)