2012-04-12 11 views
0

ersetzen Wie kann ich Bildquelle Attribut mit varjQuery attr scource mit var

$(this).attr('src','' +myVar+ '') 

var myVar = "img/image.png"; 

ich so versucht, zu ändern.

Antwort

3

Ist das Ihr tatsächlicher Quellcode? Weil Sie die Variable nach definieren Sie verwenden es. Einfach die Linien umschalten. (Und ''+myVar+'', verwenden Sie einfach die Variable direkt.)

Wenn es immer noch nicht funktioniert, stellen Sie sicher, dass this bezieht sich auf das Bildelement, das Sie ändern möchten.

1

Verwenden Sie einfach:

var myVar = '/img/image.png'; 
$(this).attr('src', myVar) 

Die Argumente für attr() geben eine Zeichenfolge in Anführungszeichen sein kann "/img/image.png" oder eine Variable ‚enthält‘ diese Zeichenfolge. Wenn Sie eine Variable übergeben, muss sie nicht in Anführungszeichen gesetzt werden, obwohl Sie die Variable definieren müssen, bevor Sie sie verwenden.

Auch eine leichte Leistungssteigerung (ernsthaft leichte) können Sie this in das Objekt jQuery Einwickeln vermeiden $(this) und einfach zu verwenden (nachdem die Variable definieren):

this.src = myVar; 
+0

Du schlägst mich in 1 Sek .: P –

1

Gerade $(this).attr('src', myVar);

Und stellen Sie sicher, dass myVar im Bereich definiert ist, wenn die obige Zeile ausgeführt wird.