2012-04-11 63 views
0

字符串的一部分我有一個變量如下替換使用jQuery/JavaScript的

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

我要替換圖像標籤的src其他一些圖像URL讓說http://www.test2.com/img2.jpg

所以輸出應該是

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

這兩個圖像路徑都是動態的。

請幫忙。

+0

你真的是你真的想做什麼嗎?你打算將該字符串設置爲innerHTML嗎? '因爲這樣做會更容易,然後使用DOM更改圖像元素的src屬性。否則,你將不得不找到索引位置並做一些子串和拼接。 – JKing 2012-04-11 11:16:33

+0

我計劃使用ajax將其傳遞給php,然後做到這一點,但如果它可以使用JS然後更好 – 2012-04-11 11:18:31

回答

6

您可以通過它一個jQuery對象設置圖像的URL,就像這樣:

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

圖像路徑1和路徑2將是動態的。同樣在我的情況下,我會知道path2,但不會對path1有什麼想法。所以這不會工作。 – 2012-04-11 11:33:20

+0

如果需要,您可以使用變量來設置src,但我沒有看到問題。 「圖像路徑1和路徑2將是動態的」是什麼意思? – 2012-04-11 11:36:50

+0

我試過你的方式,它的工作很完美。感謝幫助。 – 2012-04-11 11:56:05

0

見這個例子:根據您想如何改變URL http://jsfiddle.net/pnwKs/

,你可以使用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')); 

如果它是一個字符串裏,你可以這樣做:

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