2013-07-01 126 views
1

我正在使用jQuery在點擊上顯示圖像。這是通過存儲圖像的源成像這樣變細..解剖img src屬性

var theSrc = $(event.target).attr('src'); 

然後我就可以把這個形象成一個div並顯示它

var theImg = '<div class="wrap"><img src="'+imgSrc+'"></div>'; 

我想這樣做,是僅僅稍微改變圖像的來源更大的文件中即通過將「大」這個名字

image.png 

更大的同一個目錄
imageBig.png 

這是可能使用jQuery?

回答

4

我只想用.replace() - 它比.split()用於該用途的簡單:

var theSrc = $(event.target).attr('src').replace('.png', 'Big.png'); 

另外一個建議:我會消除像這樣的噪音詞從您的變量名稱。而不是theSrc,請使用src。而不是theImg,請使用img。單詞the根本不傳達任何信息,並且在變量名中沒有任何價值。它實際上具有負值值,因爲它是額外的東西來讀取,並沒有增加任何意義的簡單名稱。

+0

我看到如何添加'''以避免混淆src的屬性,img元素和SRC或IMI jQuery變量。雖然它只是約定(我會避免使用這些令人困惑的名稱,並在$前面加上前綴,因爲它們是jQuery變量,首先) – FelipeAls

2

肯定的:

$("img").attr("src", "imageBig.png"); 

見jQuery的文檔:http://api.jquery.com/attr/#attr2有ATTR,您可以使用的多種口味。

要動態執行此操作,請參閱@ tymeJV的帖子,只要文件名中只有一個句點,該帖子就會生效。

+2

我以爲OP想把「大」添加到任何IMG SRC的結尾?我讀完了嗎? – tymeJV

+2

我認爲他希望它是動態的,不僅僅是'image'到'imageBig' –

+0

不知道,也許我沒有讀足夠多的東西...... –

6

你可以這樣做:

var theSrc = $(event.target).attr('src'); 
theSrc = theSrc.split(".")[0] + "Big." + thetheSrc.split(".")[1]; 
+0

如果'src'屬性中有另外一個'.',怎麼辦?例如'SRC = 「temp.test/image.png」'。 –

+0

@MichaelGeary - 我應該解決這個問題,一個reg-ex可以工作,或者只是分割'.png'或者任何默認的img擴展名,然後全部替換它。無論哪種方式。 – tymeJV

+1

這適用於,只是選擇的答案是這個場景的更快實施 – Chris

1

不使用jQuery,但是你可以用JavaScript做到這一點:

var temp = imgSrc.split('.'); 
var newSrc = temp[0]+'Big.'+temp[1];