Pit: Javascript: Relativen Pfad eines Images ermitteln

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

  1. @@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 🖖

    --
    „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
    1. 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

      1. 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"); }
        }
        
        
        1. 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