2013-02-09 61 views
1

使用jQuery,我怎麼能說(這是一個點擊()函數中):使用if語句來匹配元素點擊

if(element clicked has an href == 'the href location'){ 

}; 

我用的是這樣的:

if ($(this).attr('href') == 'image.png') { 
//Do Stuff 
}; 

這不起作用,因爲我發現$(this)指的是窗口。此外,我不知道如何使用$(this)來指定某些東西。

任何幫助,將不勝感激。

+0

*我發現,$(這)是指窗口*:然後代碼可能不是事件處理中。請說明如何/何時針對click事件處理程序做出if語句。 – 2013-02-09 01:57:28

+0

http://stackoverflow.com/questions/303956/jquery-select-a-which-href-contains-some-string – 2013-02-09 02:08:22

回答

1

如果你只是想火單擊能夠滿足這一條件,使用元素上的事件:

$('a[href="image.png"]').click(function(e) 
{ 
}); 

如果你想火點擊選擇的所有元素的事件,但如果他們那麼做一些特別的東西有一定的href,你的權利$(this)只引用事件回調中的單擊元素。

$('a').click(function(e) 
{ 
    if ($(this).attr('href') == 'image.png') { ... }; // it works within this function 
}); 
0

你在尋找類似的東西嗎?

Here is working jsFiddle.

$(document).ready(function() { 
    $('img').click(function() { 
     var target = $(this).attr('src'); 

     if(target === 'http://www.mallorcaweb.net/masm/Planetas/Jupiter.jpg') { 
      alert('you have found it!'); 
     }else{ 
      alert('wrong one..'); 
     } 
    }); 

}); 
+0

這幾乎是我已經有了。現在我認爲問題在於我還沒有添加if else語句,以告訴它在單擊不同按鈕時要執行的操作。當我點擊另一個按鈕時,我告訴它做的(第一個按鈕)保持不變。我正在考慮if語句,如果另一個按鈕不符合這些要求,它將不會運行此功能。這是發生了什麼,但我也沒有想到,從前一個按鈕運行的功能不會消失。 對不起,浪費了時間。 – Randomishlying 2013-02-09 02:19:22