2012-11-08 38 views
0

更換IMG路徑的一部分,我想在整個頁面看起來在網站上,並取代以「/」相對IMG路徑。例如:用正則表達式中的jQuery

$("body img").attr("src",function(){ 
     return this.src.replace("uploads","/uploads"); 
    }); 

然而,在情況下,相對路徑可能比什麼上面,我想用正則表達式來解釋所有不同情況下的不同。我知道圖像將全部駐留在相同的位置,但各種替代路徑可能是「上傳,../上傳,或../../上傳等。

任何幫助,將不勝感激.. .. ?

+0

我相信有些瀏覽器報告,而不是什麼在日形象SRC的絕對URL, e HTML屬性。這會讓事情變得複雜。無論如何,你想要做什麼的價值?你在改變實際的圖像嗎? – Blazemonger

+0

...或簡化的事情。您可以首先檢查URL是否已經是絕對的,然後將該屬性顯式設置爲該屬性。或者我想,爲了所有的意圖和目的,你的工作已經完成。當然,你仍然需要處理瀏覽器不會爲你做這件事的情況。 – LukeGT

+0

這是一個很好的觀點。我沒有想到改變鏈接的瀏覽器。我其實這個請求的CMS會自動更改鏈接作爲清理機制(去圖)。所以,我的最終目標是要找到沒有/上傳/所有路徑...並相應地改變它們。我不會替換圖像,只要確保一旦cms編輯完成後,圖像仍然可以工作。 – trobbins26

回答

1

使用本

$('img').each(function(){ 
    $(this).attr('src',$(this).attr('src').replace(/^/,"/")); 
     $('body').append('<br />'); 
$('body').append($(this).attr('src')); 

})​ 

這裏是小提琴

http://jsfiddle.net/7yNg7/

+0

謝謝,但這並不佔「../」或「../../」 我怎麼解釋那些正則表達式,因爲他們是比較常見的 – trobbins26

+0

不得不做一些小的調整,但是終於有工作我需要的方式。 就不得不改變.replace(/^/, 「/」)); 到.replace(/.*上傳/, 「/我/ JMG /路徑」)); 感謝您的幫助。 – trobbins26