Gabimi në marrjen e elementit në JavaScript
Ndonjëherë programuesit fillestarë bëjnë një gabim,
duke përdorur për marrjen e një elementi të vetëm DOM
metodën querySelectorAll në vend të metodës
querySelector.
Le të shohim karakteristikat tipike të këtij gabimi. Le të jetë dhënë një paragraf:
<p>text</p>
Një programist vendosi të merrte dhe të ndryshonte tekstin e këtij paragrafi. Për këtë, ai mori një referencë për këtë element në një variabël, duke përdorur gabimisht metodën e gabuar:
let elem = document.querySelectorAll('p');
Pastaj programisti u përpoq të ndryshonte tekstin e paragrafit. Megjithatë, teksti i paragrafit nuk ndryshoi:
elem.textContent = '!!!'; // nuk funksionoi
Në këtë rast, asnjë gabim nuk u shfaq në konsol. Çështja është se u krye një operacion i lejueshëm, por jo mbi një element, por mbi një grup. Dhe të lexosh ose të ndryshosh tekstin e një grupi elementësh thjesht nuk mundet - vetëm duke i përsëritur ato me një cikël dhe duke iu drejtuar secilit element veç e veç.
Si të zbuloni gabimin
Le të shohim se si duhet të veprojë programuesi për të zbuluar këtë gabim. Në fakt, duke pasur një përvojë, është e lehtë ta zbulosh atë sipas shenjave karakteristike.
Por, le të mos ndodhë kjo. Atëherë
veprimi i parë i programuesit kur kërkon gabime
duhet të jetë shfaqja e vlerave të variablave
në konsol. Në rastin e tij ekziston vetëm
një variabël - elem. Duhet të shfaqet vlera
e kësaj variable dhe të shikohet se çfarë
ka në të:
let elem = document.querySelectorAll('p');
console.log(elem); // do të shfaqë një array, jo një element
Në konsol është menjëherë e dukshme se në variabël nuk ka një element, por një array. Kjo menjëherë jep një tregues të dukshëm se është bërë një gabim në metodën për marrjen e elementit.