Javascript: Relativen Pfad eines Images ermitteln
Pit
- javascript
1 Gunnar Bittersmann
Hallo,
mit querySelector("img").src
lese ich die Quelle eines Images aus, hierbei wird mir aber der absloute Pfad angezeigt.
Kann ich mir auch den relativen Pfad anzeigen lassen?
Pit
@@Pit
mit
querySelector("img").src
lese ich die Quelle eines Images aus, hierbei wird mir aber der absloute Pfad angezeigt.Kann ich mir auch den relativen Pfad anzeigen lassen?
Wozu brauchst du das?
Ungetest: Liefert querySelector("img").getAttribute("src")
nicht den Wert wie er im HTML angegeben ist?
LLAP 🖖
Hi Gunnar,
Ungetest: Liefert
querySelector("img").getAttribute("src")
nicht den Wert wie er im HTML angegeben ist?
Es liefert. Prima, danke. Ich hatte eigentlich auch genau das schon getestet, hab mich aber dabei verschrieben 😕
Wozu brauchst du das?
Erzähle ich Dir gerne, weil ich hieran eine weitere Frage anknüpfen kann. Ich möchte ein Array von Images durchlaufen und feststellen, an welcher Stelle des Arrays das aktuell gezeigte Image ist. Hierzu möchte ich den Wert des aktuellen Images mit dem "Durchlaufwert" vergleichen. Damit es lokal und auf dem Server läuft, muß ich hierzu den relativen Pfad nehmen.
Frage: Wie kann ich den Index eines Arrayelements anhand des value ermitteln?
Nimmt man da indexOf
?
Pit
Aber:
console.log(allImages.indexOf(singleImage.getAttribute("src")));
ergibt einen Fehler:
TypeError: allImages.indexOf is not a function
[Weitere Informationen]
wobei z.b. console.log(singleImage.getAttribute("src");
./img/gallery/myjpg.jpg
ergibt.
Warum erhalte ich nicht den Arrayindex, sondern allImages.indexOf is not a function?
Hier der komplette Code:
let allImages = document.querySelectorAll(".gallery img");
// Images-Array durchlaufen und Arrayposition ermitteln
for (let i = 0; i < allImages.length; i++) {
let singleImage = allImages[i];
if (singleImage.getAttribute("src") == fig.querySelector("img").getAttribute("src"))
{ console.log(allImages.indexOf(singleImage.getAttribute("src"))); } else { alert ("nix"); }
}
Warum erhalte ich nicht den Arrayindex, sondern allImages.indexOf is not a function?
Im Index war der komplette Node drin, daher konnte es nicht funktionieren, ich habe nun ein weiteres Array angelegt, aber dann wurde auch indexOf unnötig, weil ich hier eh über das Array iterieren mußte…
Pit