2012-04-11 16 views
0

Ich habe eine Variable, wie untenersetzen einen Teil der Zeichenfolge mit jQuery/JavaScript

var a = "Hi this is test. <img src='http://www.test.com/img1.jpg'> Test ends here"; 

möchte ich die src von Image-Tag zu einem anderen Bild-URL können sagen http://www.test2.com/img2.jpg

Die Ausgabe sollte also ersetzen be

var b = "Hi this is test. <img src='http://www.test2.com/img2.jpg'> Test ends here"; 

Beide der Bildpfad wäre dynamisch.

Bitte helfen.

+0

Sind Sie _sure_ das ist wirklich das, was Sie tun möchten? Werden Sie diese Zeichenfolge als innerHTML festlegen? Weil es einfacher wäre, dies zu tun, dann ändere das src-Attribut des Bildelements mit dem DOM. Andernfalls müssen Sie die Indexpositionen finden und Substringing und Contrating durchführen. – JKing

+0

Ich plane, das zu php mit Ajax zu übergeben und dann tun Sie es, aber wenn es mit JS getan werden kann, dann viel besser –

Antwort

6

Sie können die URL des Bildes festlegen, indem es ein jQuery-Objekt zu machen, etwa so:

var $myImg = $("<img src='http://www.test.com/img1.jpg'>"); 
$myImg.attr("src","http://www.test2.com/img2.jpg"); 
+0

das Bild Pfad1 und Pfad2 wird dynamisch sein. Auch in meinem Fall würde ich Pfad2 wissen, aber ich habe keine Ahnung von Pfad1 was es ist. also wird das nicht funktionieren. –

+0

Sie können eine Variable verwenden, um auch den Quellcode festzulegen, wenn Sie möchten, ich sehe das Problem nicht. Was genau meinst du mit "der Bildpfad1 und Pfad2 wird dynamisch sein"? –

+0

Ich habe es versucht und es funktioniert perfekt. Danke für die Hilfe. –

0

Sehen Sie folgendes Beispiel: http://jsfiddle.net/pnwKs/

Je nachdem, wie Sie die URL ändern möchten, können Sie Verwenden Sie den Befehl attr.

// changes the full SRC path 
$('#1').attr('src', 'http://placehold.it/350x250'); 


// replaces some part of the SRC path 
$('#2').attr('src', $('#1').attr('src').replace('250','400')); 

Wenn es in einem String ist könnten Sie tun:

var a = "Hi this is test. <img src='http://www.test.com/img1.jpg'> Test ends here"; 
a.replace('img1.jpg', 'img2.jpg'); 
Verwandte Themen