Problem pri čitanju u DOM-u

trebam kroz DOM da dohvatim karakter iz SRC atributa IMG taga, a pošto IMG-a ima više, od njih na kraju treba da dobijem jedan string (“list”).

function search() {
	var images = document.getElementsByTagName("img");
	var list = "";
	for (var i = 0; i < images.length; i++) {
		list = list + images[i].charAt(images[i].src.length-5);
	}
}

Firebug mi javlja grešku:
TypeError: images[i].charAt is not a function

što je najgore, ovo mi je uredno radilo (mislim da je čak pokazivalo ovakvu ili vrlo sličnu grešku, ali je radilo posao). i onda sam nešto čačkao, nisam obraćao dovoljno pažnje i sad kreten moram opet otkrivati toplu vodu…

UPDATE: sat vremena kasnije iskopah neku staru kopiju fajlova koju sam sačuvao i nađoh tamo
list = list + images[i].src.charAt(images[i].length-5)
očito je bilo nekakvo nekontrolisano kopiranje ovog “src”… a danas se poigravao s mišem, inače ga nisam pa bar godinu dana koristio… eto šta je uzrok… gluposti nigdje kraja… :slight_smile:
izvinjavam se zbog lažne uzbune. tema može da se briše (ako se tako praktikuje), jer nema se iz nje baš puno naučiti… :slight_smile:

Iz nekog razloga vidjeh sad ovu temu, dobro da je rijeseno :slight_smile:

Ukratko, stvar je u tome da document.getElementsByTagName vraca HTMLCollection, nesto slicno arrayu, ali nema metode na prototype-u koje array ima, a charAt je metoda koja se nalazi samo na Stringu i iz tog razloga se dobije navedeni error.

hvala ti, Belmine.

ovo je jedna od stvari koju sam implementirao bez razumijevanja. zato mi je korisno ovo tvoje objasnjenje.


Copyright © 2022 WM Forum - AboutContact