2017-03-22 1 views
1

Ich benutze Tag-Manager, um Informationen dynamisch von der Website in ein HTML-Element mit benutzerdefinierten Javascript zu platzieren. Mein Code ist im Moment dieser. PS Ich kann nicht herausfinden, wie man richtig postet. Dies beginnt tatsächlich mitDynamische Anzeige einer Bild-URL mit Javascript

function(){ 
    console.log("Start image variable"); 
    var element = document.getElementsByClassName("MagicZoomPlus")[0]; 
    console.log(element); 
    var image = element.getAttribute("img src").innerHTML; 
    console.log(image); 
    return image; 
} 

Dies gibt die folgenden Debug-Informationen

unreachable code after return statement[Learn More] trustlogo.js:28:123 
Start image variable gtm.js:1:42 
<a id="ZoomGallery" href="/uploads/products/892_3521-05 .jpg" class="MagicZoomPlus" title="Franklin Paradigm Grey Sofa"> gtm.js:1:136 
undefined gtm.js:1:186 

Die HTML-Datei auf der Seite, die ich

ist
<a id="ZoomGallery" href="/uploads/products/892_3521-05 .jpg" class="MagicZoomPlus" title="Franklin Paradigm Grey Sofa"><img src="/uploads/products/892_3521-05 .jpg" alt="FranklinParadigm Grey Sofa" /></a> 
+0

Das Var-Element ist kein Bild, sondern die Verknüpfung. Sie können das Bild wie folgt erhalten: http://stackoverflow.com/questions/10381296/best-way-to-get-child-nodes, und erhalten Attribut von diesem Knoten. –

Antwort

0

Dies ist, was ich mit kommen am Ende, was funktioniert.

function myFunc() { 
    var img = document.querySelector(".MagicZoomPlus img"); 

    return img.src 
} 
2

Ihre .innerHTML zu erreichen versuchen,() ist nicht erforderlich . Die Funktion getAttribute() gibt einfach eine Zeichenfolge mit dem Wert des Attributs oder null zurück, wenn das Attribut nicht vorhanden ist.

var imageSrc = element.getAttribute("src"); 

und dann einfach return imageSrc

Mehr Infos auf der mozilla developper network

+0

Ok, wenn ich versuche, die neue Zeile zu verwenden, gibt es "null" zurück. Ich weiß, dass mir etwas fehlt. function() { var element = document.getElementsByClassName ("MagicZoomPlus") [0]; var imageSrc = element.getAttribute ("src"); zurück imageSrc; } – Matty2Shoes

+0

Ihr Tag hat nicht den Klassennamen, nach dem Sie suchen (Magic zoom plus). Sie wählen hier das Anchor-Tag aus, wenn Sie das img-Tag auswählen möchten, um seinen src zu erhalten. – jdereynal

1
:

Um das src Ihres Elements zu erhalten, die URL des Bildes daher würde, was Sie tun müssen

Sie könnten stattdessen einen Selektor verwenden, und Sie können das Attribut auch direkt mit der Punktnotation aufrufen. Wenn Sie versuchen, das Bild innerhalb des Link zum Ziel:

function(){ 
    var image = document.querySelector(".MagicZoomPlus > img"); 
    // get 
    console.log(image.src); 
    // or set the image source 
    image.src = "https://example.com/hello.jpg"; 
    return image; 
} 
Verwandte Themen