2011-09-30 40 views
0

我是一個jQuery newb所以這可能是基本的。調用jQuery函數的鏈接似乎沒有工作

我在這裏有一個測試頁面:http://www.problemio.com其中我試圖使鏈接投票上或下。

這裏是鏈接什麼樣子:

<a class="link_button" id="vote_up">Vote Up</a> 
<a class="link_button" id="vote_down">Vote Down</a> 

我用的是類屬性的造型各地與link_button的網站,所以我決定用id屬性來區分的鏈接jQuery的電話。

這裏是我的jQuery函數看起來像:

$('a.vote_up').click(function() 
{ 
alert("up"); 
}); 

現在我只是想確保它得到正確調用。但警報沒有被調用,這讓我覺得這是在某個地方被打破。任何想法我怎麼能得到這個工作?

謝謝!

回答

8

您正在使用類別選擇器.而不是id選擇器#。因此,無論是做

$('#vote_up').click(function(){ 
    alert("up"); 
}); 

$('.link_button').click(function(){ 
    if(this.id === 'vote_up') 
     alert('vote up'); 
    else if (this.id === 'vote_down') 
     alert('vote down'); 
} 

編輯:也確保一切都在$(文件)。就緒...即

$(function(){ 
    $('#vote_up').click(function(){ 
     alert("up"); 
    }); 
}); 
+0

其實我只是做了改變$(「#vote_up」)點擊(函數(){,它仍不能工作的任何想法,爲什麼。這可能是? – Genadinik

+1

看到我的編輯,並確保它在一個document.ready –

5

您當前的選擇是不正確,它正在尋找一個a標籤與vote_up不是它的ID ...

用這個代替...

$(function() { 
    $('#vote_up')... 
}); 
+0

只是做了這個變化,它仍然沒有這樣做的警報任何想法,爲什麼這可能? – Genadinik

+0

@Genadinik看到更新,只需要確保DOM在附加事件處理程序之前被加載... – jondavidjohn

4

你試過了id選擇器嗎?

$('#vote_up').click(function() { 
    alert('up'); 
}); 
4

a.vote_up尋找一個<a>標籤與類vote_up。在你的HTML vote_up是一個ID,所以要這樣:

$('#vote_up').click(function() 
+0

剛剛做出了改變,但它仍然沒有做到這一點。任何想法爲什麼這可能是? – Genadinik