2011-10-04 91 views
0

我試圖對圖片標籤的src屬性執行查找/替換,以刪除部分圖片的文件名。我假設我需要使用str.replace(),但我不知道如何編寫正則表達式來完成我想要做的事情。使用javascript修改圖片標籤的src屬性

src屬性是目前

http://domain.com/path/to/file/D063DC58-6051-4B24-8CDC-D4525F72A150_tn.jpg

其中/to/file/xxxxxxx_tn.jpg會有所不同,與文件名總是_tn.jpg結束。我想從頁面上的每個實例中刪除_tn

+0

看起來像抓取Facebook的圖像,從_q(快/小拇指)來_n(正常大小)) – Jakub

+0

是jQuery的一個選項? –

+0

jQuery肯定是一個選項。這不是抓​​住Facebook的圖像,FWIW。 –

回答

2
var images = document.getElementsByTagName('img'); 

for (var i = 0; i < images.length; i++) { 
    images[i].src = images[i].src.replace('_tn.jpg', '.jpg'); 
} 
+0

完美訣竅。感謝您的完整示例。 –

0

您不需要使用正則表達式。

referenceToImage.src = referenceToImage.src.replace('_tn', ''); 
+0

或'.replace(「_ tn.jpg」,「。jpg」)'以確保它結束。 –

+0

我會繼續前進,展示我的無知,並問:選擇圖像src的最佳方式是什麼?我的JavaScript技能最好還是很弱。 –

+0

按照此答案中的示例使用'src'屬性。 – Quentin

2
var srcValue = "http://domain.com/path/to/file/D063DC58-6051-4B24-8CDC-D4525F72A150_tn.jpg"; 

var newSrcValue = srcValue.replace(/[A-Z0-9\-]+_tn/, 'xxxxx_tn'); 
0

如果正在使用jQuery> = 1.1:

$("img").attr("src", function(i, val) { 
    return val.replace("_tn.jpg", ".jpg"); 
});