2013-07-25 66 views
0

我有一個CMS中的頁面,我只能編輯部分。我想將它顯示的圖像更改爲較大的圖像。該系統自動生成多種尺寸,並將它們存儲,因此所有我需要做的是從/location/image-1.jpg改變/location/image-2.jpg 我嘗試下面的代碼失敗使用JavaScript替換來改變頁面加載的圖片網址

<body onload="replaceScript();"> 
<script type="text/javascript"> 
function replaceScript() { 
var toReplace = '-1.jpg'; 
var replaceWith ='-2.jpg'; 
document.body.innerHTML = document.body.innerHTML.replace(toReplace, replaceWith); 
} 
</script> 

有什麼建議嗎?

+0

_I嘗試下面的代碼unsuccessfully_請說明問題。發生了什麼事與你預期會發生什麼,控制檯錯誤等。 – Mathletics

+0

是否有你想使用函數replace的原因,而不是直接設置地址?例如document.body.innerHTML ='/location/image-2.jpg' –

+0

我需要這個在頁面上的多個圖像上進行更改,這就是爲什麼我採取了這種方法。我期望看到正確的圖像,我仍然看到原來的圖像。 – user1772951

回答

1

我的猜測是你有一系列你想要改變的圖像,它只是爲你改變。一般的innerHTML替換可能不是改變圖像源的最佳方式。

嘗試是這樣的:

function replaceScript() { 
    var images = document.querySelectorAll('img'); 
    for(var i = 0, l = images.length; i < l; i++){ 
     images[i].src = images[i].src.replace("-1.jpg", "-2.jpg"); 
    } 
} 
+0

這個技巧。非常感謝。 – user1772951