2009-02-06 66 views
3

我有3個圖像,並有一個功能,以便在鼠標滾動時淡入淡出。如果正在翻轉的圖像具有「已選中」的類別,我不想這樣做。jQuery如果Div不存在

到目前爲止,我有這樣的代碼:

$(".thumbs").hover(function(){ 

if (!($(this).hasClass(".selected")){ 

$(this).stop().fadeTo("normal", 1.0); 
},function(){ 
$(this).stop().fadeTo("slow", 0.3); 

} 

}); 

我IF語句看起來應該是:

if (!($(this).hasClass(".selected"))){ 

但既不是工作,所以誰知道。當我實現這個代碼時,我的整個javascript停止工作,任何想法爲什麼?

幾乎沒有關於Google上的jQuery的IF語句的信息,這很荒謬。我將不勝感激任何幫助!

+0

http://stackoverflow.com/questions/520250/jquery-if-div-doesnt-have-class-x – svinto 2009-02-06 14:43:48

+0

真正的重複,但他不知道。 :) – 2009-02-06 14:55:43

+0

人們無法回答,所以我再次問,現在已經回答。 – zuk1 2009-02-09 09:55:41

回答

5

問題是你的元素有「selected」而不是「.selected」。刪除點。

1

也許這應該是

if (!($(this).hasClass("selected"))){ 

沒有。因爲它知道你正在尋找一個類名。

2

使用not功能:

if ($(this).not(".selected")) { 
    ... 
} 
1

我覺得你的JavaScript的格式不正確 - 括號在錯誤的地方 - 你不應該在hasClass功能使用點。更好的格式化也有助於可讀性。

$(document).ready(function() { 
    $('.thumbs').hover(function() { 
          if (!$(this).hasClass('selected')) { 
           $(this).stop().fadeTo("normal", 1.0); 
          } 
         }, 
         function() { 
          $(this).stop().fadeTo("slow", 0.3); 
         } 
       ); 
});