2011-11-28 62 views
0

我已經創建了HTML中的圖像DIV及以下的任何代碼IMG SRC路徑給出了第一個孩子只上懸停的jQuery

<div class="container"> 
    <div class="TabMenu"> 
     <span><img src="images/ecom.png"></span> 
     <span><img src="images/cms.png"></span> 
     <span><img src="images/crm.png"></span> 
     <span><img src="images/creative.png"></span> 
     <span><img src="images/development.png"></span> 
     <span><img src="images/qa.png"></span> 
     <span><img src="images/mobile.png"></span> 
    </div> 
</div> 

,現在我寫的jQuery

$(".container .TabMenu span").mouseover(function() { 
    var imgpath = $('img').prop('src'); 
    alert(imgpath); 
}) 

當懸停圖像,其顯示具有第一圖像路徑的警報框,但不顯示相應的路徑。我怎麼能檢索相應的圖像路徑

,現在我伸出這裏問題本身

當我特別的圖像上單擊它的形象應該被改變,下面是我寫

的代碼,我有兩個圖像作爲image1.png和圖像1-h.png,通過這種方式,我使用徘徊的風格,但

$(".container .TabMenu span").click(function(){ 
var newSrc = $('img', this).attr('src').replace(".", "-h."); 
$('img', this).attr("src", newSrc);    
}); 

我有兩個圖像作爲image1.png和圖像1-h.png,通過這種方式,我使用懸停風格通過將圖像名稱替換爲「-h」。但是當我點擊這個圖像ecom然後它變成ecom-h和cms到cms-h,我該如何恢復該圖像的原始src路徑,以便該圖像處於活動狀態。 當我點擊其他圖像,以前單擊圖像應路徑來原路徑

回答

4

用這個代替:

var imgpath = $('img', this).prop('src'); 

在你的情況,你正在尋找一個img在整個文件中標記並取其中的第一個。

+1

這不錯!我會用'$('img')'來解釋@Rafee實際上做了什麼以獲得最佳答案。 +1當然至少因爲不是所有人都記得'jQuery()'是'context''的第二個參數,儘管它可能非常方便使用。 – Nemoden

+0

我使用這個作爲簡短的語法,以及如何只有相對路徑 – Rafee

+0

@Rafee,你是什麼意思? –

1

嘗試:

 
$(".container .TabMenu span").mouseover(function(){ 
var imgpath = $(this).children("img").attr('src') ; 
alert(imgpath); 
2

使用this來定位當前元素,並且使用children()來選擇圖像;

$(".container .TabMenu span").mouseover(function(){ 
    var imgpath = $(this).children('img').prop('src') ; 
    alert(imgpath); 
});