2016-02-03 19 views
-1

剛開始學習javascript/jquery。使用javascript/jquery進行基本民意調查

對於我最近的任務,我被要求創建一個函數來監聽兩個按鈕上的點擊,並查看「data-vote」屬性來查看投票結果。

我需要設置一個事件監聽器上的按鈕與「vote」類,這兩者也具有「data-vote」屬性,一個是「great」,其它的「greatest」。當點擊其中一個buttons時,我需要查看該屬性以確定它是哪個屬性,然後爲受影響的計數器增加一個計數器。

我知道這看起來很簡單,但我很迷茫。這是我的代碼到目前爲止:

$('.vote').on('click', function(event){ 
    var targetElement = event.target; 
    $(targetElement).find('data-vote').each(function(){ 
     if .attr(great) 

任何幫助都將不勝感激。

回答

0
var great = 0; 
var greatest = 0; 

$('.vote').on('click', function() { 
    var value = $(this).data('vote'); 

    if(value === 'great') { 
    great++; 
    } else if(value === 'greatest') { 
    greatest++; 
    } 
}); 

這裏的關鍵是,click處理程序中,$(this)通常是指你點擊的元素。

您可以查詢屬性data-vote並使用該值進行操作。注意我們使用jQuery的data方法,該方法查詢HTML5 data-*屬性。

要增加計數器,您可以使用兩個全局變量greatgreatest。根據您單擊的按鈕的值data-vote,您可以使用++運算符(這稱爲increment arithmetic operator)增加相應的全局變量。這是一個原子操作符,它改變了這個值。

+0

您還可以使用$(this).data('vote')作爲數據屬性的快捷方式。 – Rob

+1

@Rob,謝謝,只是當你評論時改變了這一點!大聲笑 –