我的網站右側有一個社交按鈕負載(<img>
s,位於<ul>
)。使用JS/jQuery修改路徑的最有效方法
它們可能有文件名,如google.png
或twitter.png
。
我現在想要將src
更改爲google_b.png
或twitter_b.png
- 我會一直以這種方式爲所有這些文件命名我的文件。
我的問題是如何輕鬆地改變文件名和_b
(保持文件擴展名)而不必預先定義文件名?
目前我的代碼看起來是這樣的:
$('#social li').hover(function() {
// hover in
// a bunch of code to animate a tooltip is here
var $img = $t.children('img'),
src = $img.attr('src');
// change the source to img_b.png
$img.attr('src', src);
},
function() {
// hover out
var $img = $(this).children('img'),
src = $img.attr('src');
// remove _b to make it img.png again
$img.attr('src', src);
});
最有效的方法可能是使用類的圖像,只是在您懸停時交換類。但是你說你不想預先定義圖像名稱,所以我不會發布這個答案。 – 2012-01-10 15:57:37
你不能只用正則表達式或其他東西來改變字符串嗎?效率(就性能而言)在這裏並不真正考慮,因爲您只是在事件循環中操縱一個元素。換句話說,很難找到一種辦法來解決這個問題,以至於造成真正的問題。 – Pointy 2012-01-10 16:02:59
@Pointy是的我可以,但我在正則表達式很糟糕:/ – 2012-01-10 16:09:02