DOM-da JavaScript kodunun yazilması üzün məsləhətlər
Təsəvvür edin ki, qarşınızda həlli üçün müəyyən miqdarda kod sətri yazmaq lazım olan kifayət qədər mürəkkəb bir tapşırıq durur.
Səhv yanaşma, bütün həll kodunu bir anda yazmağa çalışmaq və sonra yoxlamağa başlamaq olardı. Bu halda, heç bir şeyin işləməməsi və səhvi çoxlu kod içərisində axtarmaq məcburiyyətində qalmaq ehtimalı yüksəkdir.
Düzgün yanaşma isə tapşırığı kiçik, elementar addımlara bölmək, onları həyata keçirib düzgünlüyünü dərhal yoxlamaqdır. Bu halda, hətta haradasa səhv etsəniz belə, problemi dərhal görüb düzəldə bilərsiniz.
Gəlin praktikada cəhd edək. Tutaq ki, sizdə bu abzaslar var:
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
Tutaq ki, qarşınızda 3-ə qat olan rəqəmləri olan abzasları tapmaq və onların rəqəmlərinin cəmini tapmaq vəzifəsi durur.
İlk kiçik addım olaraq, abzarlarımızı massiv şəklində əldə etməyi və bu massivi konsola çıxarmağı təklif edirəm, beləliklə hər şeyi düzgün əldə etdiyimizə əmin ola bilərik. Gəlin bunu edək:
let elems = document.querySelectorAll('p');
console.log(elems);
Növbəti kiçik addımda abzarlarımızı dövrə ilə gəzmək və hər birini ayrılıqda konsola çıxarmaq lazımdır:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
console.log(elem);
}
İndi isə dövrə daxilində abzarlarımızın mətnlərini çıxaraq:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
console.log(elem.textContent);
}
İndi gəlin rəqəmi 3-ə bölünən abzarların mətnlərini çıxaraq:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
let text = +elem.textContent;
if (text % 3 === 0) {
console.log(text);
}
}
Düzgün abzarları əldə etdiyimizə əmin olduqdan sonra onların rəqəmlərini cəmləməyə başlaya bilərik:
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);
İllərin siyahısı verilib:
<ul>
<li>2000</li>
<li>2004</li>
<li>2021</li>
<li>2022</li>
<li>2025</li>
<li>2031</li>
</ul>
Rəqəmlərinin cəmi 6-ə bərabər olan illəri əldə edin. Alınan illərin cəmini tapın.