2011-03-01 96 views
0

我有像「/images/slide1.jpg」這樣的圖像的src信息,只是我想交換slide1到slide2,任何一個給我正確的方式來查找和替換img src?如何檢索圖像src的num值?

+0

只需使用像' url.substring(13,1);'。 – pimvdb

+1

如果使用超過9張圖像,則不起作用。 –

+0

這是正確的,我認爲3gwebtrain只使用slide1和slide2。你可以使用'url.split(「。」)[0] .substring(13);'或類似的東西。 – pimvdb

回答

2
document.getElementById('image id goes here'). 
    src = '/images/slide' + number + '.jpg'; 

如果你想要得到的數字,然後在特定的情況下,這會工作:

number = document.getElementById('image id goes here'). 
    src.match(/\d+/)[0]; 
+0

我得到這樣的路徑:http://someserver.frontend.london.com/images/slide1/slide.jpg,以及路徑可能因地而異,所以我想提取沒有文件名的路徑我需要設置新的文件名,爲什麼我可以單獨檢索路徑和文件名? – 3gwebtrain

+1

也許問一個新問題會做得很好,因爲現在你的問題已經非常不同了。 –

+0

我正在爲幻燈片播放工作,有2個按鈕,其中一個是下一個,另一個是之前的。當點擊下一個按鈕時,我當前的圖像需要更改爲下一個。如果他們點擊了上一個按鈕,我的上一張圖片必須加載。我有10多個圖像,每個圖像名稱就像是像slide1,slide2,slide3一樣。要做到這一點,我要求 – 3gwebtrain

0

這裏是你使用正則表達式的一個例子。它打出的SRC轉化基地,文件名和擴展名(以及爲要增加的數量在文件名中拿起最後一位數字)

var img = document.getElementById('myimage'), // image element 
    regex = /^(.+\/)([^\/]+)(\d+)(\..+)$/,  // parsing regex 
    matches = regex.exec(img.src);    // execute regex 

// Just to be tidy - getting the matches and parsing the number 
var props = { 
    'base' : matches[1], 
    'filename' : matches[2], 
    'filenumber' : parseInt(matches[3],10), 
    'extension' : matches[4] 
}; 

// Create the next image string 
var nextImage = props.base + props.filename + (props.filenumber+1) + props.extension; 

// Set the next image 
img.src = nextImage; 

alert('Set image to ' + nextImage); 

例子:http://jsfiddle.net/jonathon/JKtXd/

+0

我正在使用像這樣,但不工作: – 3gwebtrain

+0

我使用像這樣:http://jsfiddle.net/eqLzD/但不工作 – 3gwebtrain

+0

而我去我的文件名中的雙位數字,它只取最後一個數字,例如slide.10.jpg表示只需要'0'而不是10。 – 3gwebtrain