JavaScript-däki DOM mysalynda kody ýazmak maslahatlary
Öňüňizde ýerine ýetirilmeli ýeterlik derejede çylşyýmly bir wezipe bolsun, ony çözmek üçin birnäçe setir kody ýazmaly.
Hemişe çözümiň kodyny ýazyp, soňra barlamaga başamak nädogry ýol bolar. Bu ýagdaýda, hiç zadyňyz işlemeklik ähtimaly ýokary we ýalňyşlygy köp mukdarda kodyň içinden gözlemeli bolarsyňyz.
Dogry ýol, wezipäni kiçijik elementar ädimlere bölmekdir, olary ýerine ýetirer we derrew dogrudygyny barlarsyňyz. Bu ýagdaýda, haçanda nädogry ýere gitseňiz hem, derrew meseläni anyklap, ony düzedersiňiz.
Geliň praktikada synap göreli. Öňüňizde bu abzaslar bar bolsun:
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
Öňüňizdeki wezipe, 3-e bölünýän sanly abzaslary tapmak we olaryň sanlarynyň jemini tapmakdyr diýeliň.
Ilkinji kiçijik ädimim, bizim abzaslarymyzy massiw görnüşinde almak we bu massiwy konsola çap etmek bolardy, hemmesini dogry alanymyzy görmek üçin. Geliň muny edeliň:
let elems = document.querySelectorAll('p');
console.log(elems);
Indiki kiçijik ädim, abzaslarymyzy sik bilen aýlamaly we olaryň hersini konsola aýratyn çap etmelidir:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
console.log(elem);
}
Indi bolsa, sikliň içinde abzaslarymyzyň tekstlerini çap edeliň:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
console.log(elem.textContent);
}
Indi bolsa, sanlary 3-e bölünýän abzaslaryň tekstlerini çap edeliň:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
let text = +elem.textContent;
if (text % 3 === 0) {
console.log(text);
}
}
Dogry abzaslary alýandygymyza göz ýetirenimizden soň, olaryň sanlaryny jemlemäge başlap bileris:
let elems = document.querySelectorAll('p');
let sum = 0;
for (let elem of elems) {
let text = +elem.textContent;
if (text % 3 === 0) {
sum += text;
}
}
console.log(sum);
Ýyllar bilen sanaw berlen:
<ul>
<li>2000</li>
<li>2004</li>
<li>2021</li>
<li>2022</li>
<li>2025</li>
<li>2031</li>
</ul>
Sanlarynyň jemi 6-a deň bolan ýyllary tapyň. Alnan ýyllaryň jemini tapyň.