2016-06-16 14 views
-2

Ich versuche, alles für alle Bilder auf meiner Seite die src zu ersetzen, wenn die src etwas Bestimmtes ist:Ersetzen bestimmter img src mit einem anderen über JavaScript

$("img").each(function(i, elem){ 
    if ($(this).attr("src") == "/images/oldimage.png"){ 
     console.log("yay!") //this doesn't log anything 
     $(this).attr("src", "/images/mynewimage.png"); 
    } 
}); 

Ich würde arbeiten die oben dachte, aber es doesn Es scheint nicht so zu sein. Es findet nichts, was zu meiner if Aussage passt, die ich mit der console.log getestet habe, aber es gibt viele img, die übereinstimmen sollten.

+7

Haben Sie getestet, was der Wert von '$ (this) .attr (" src ")' tatsächlich ist (indem Sie es protokollieren)? – Quentin

+0

@Quentin Gute Idee. Es stellt sich heraus, dass ich nicht die Bilder finde, die ich im '' this'' brauche, aber ich ziele auf ein '' img'' wie folgt: '' '' Sollte das nicht funktionieren? – jonmrich

+0

Der 'src'-Wert des Objekts enthält den vollständigen Pfad, um den tatsächlichen 'src' aus der Quelle zu erhalten, versuchen Sie' img.getAttribute (' src ') ' – somethinghere

Antwort

0

können Sie verwenden getAttribute und setAttribute dies zu machen.

var aExample = document.querySelectorAll("img"); 
for(var i = 0; i < aExample.length; i += 1) { 
    if(aExample[i].getAttribute("src") === "images/old.png") { 
     aExample[i].setAttribute("src", "images/new.png"); 
    }; 
};