2014-01-10 53 views
0

我對javascript/jquery有點新鮮。我試圖做一個功能,將從懸停的200x200圖像切換到400x400圖像。幸運的是,所有的200x200圖像都以.200.200.jpg結尾,所有的400x400 .400.400.jpg都是相同的文件路徑。jquery函數的Typeof錯誤

這裏是我的javascript(我切換懸停觸發用於測試)

$('.Content .ProductList li').trigger(function(){ 
     var ImageSRC = this.find(".productimage a img").attr('src'); 
     NewImageSRC = ImageSRC.replace('.200.200.jpg','.400.400.jpg'); 
     this.find(".productimage a img").attr('src', NewImageSRC) 
    }); 

這是我收到的控制檯錯誤:

TypeError: Object function(){ var ImageSRC = this.find(".productimage a img").attr('src'); NewImageSRC = ImageSRC.replace('.200.200.jpg','.400.400.jpg'); this.find(".productimage a img").attr('src', NewImageSRC) } has no method 'indexOf' 

而且這裏引用的abbrebiated版本我試圖得到的HTML:

<div class="content"> 
    <ul class="ProductList ="> 
     <li> 
      <div class="ProductImage"> 
       <a href="#"> 
        <img src="../../...200.200.jpg" /> 
       </a> 
      </div> 
     </li> 
     ... 
    </ul> 
</div> 
+1

.trigger使得在這方面沒有任何意義。你從什麼切換到觸發? .trigger是它不工作的原因。 –

+0

我從.hover切換() –

回答

2

保留hover和使用

$(this).find 

代替

this.find

+0

謝謝你這個工作。 –

0

你能上懸停事件做一個,並通過ID調整CSS?

$(".img200pxclass").hover(function() { 
    $(this).attr('src','400px.png'); 
    $(this).switchClass("img200px", "img400px"); 
    $(this).css("height", "400px"); //same for width ; except, updating class might do this for you if you want 
}); 

認爲這樣的事情可以工作,如果你能惹類屬性

+0

事情是我沒有試圖改變CSS值。我正在嘗試更改爲不同的圖像文件。 –

+0

'.attr'將'img src'改爲另一個文件。 –