2015-10-18 149 views
-1

我有許多具有相同類名和不同數據值屬性的div元素。當點擊一個div時,我想將其data-attribute傳遞給一個函數,並根據data-value屬性做一些事情。我怎麼能做到這一點?將數據屬性傳遞給函數

<div class="voto" data-value="1" onclick="VotaUtente.AggiungiVoto();"> 
    <img src="img/stella-1.png"> 
    <img src="img/stella-0.png"> 
    <img src="img/stella-0.png"> 
    <img src="img/stella-0.png"> 
</div> 
<div class="voto" data-value="2" onclick="VotaUtente.AggiungiVoto();"> 
    <img src="img/stella-1.png"> 
    <img src="img/stella-1.png"> 
    <img src="img/stella-0.png"> 
    <img src="img/stella-0.png"> 
</div> 
<div class="voto" data-value="3" onclick="VotaUtente.AggiungiVoto();"> 
    <img src="img/stella-1.png"> 
    <img src="img/stella-1.png"> 
    <img src="img/stella-1.png"> 
    <img src="img/stella-0.png"> 
</div> 

JQuery的

AggiungiVoto: function() 
    { 
     $(".voto").click(function (e) { 
      e.preventDefault(); 
      var nVote = $(e.currentTarget).data("value"); 
      console.log("nVote " + nVote); 
     }); 
    }, 

我知道我可以使用(「.voto」)檢索數據屬性。數據(‘值’),但我怎樣才能通過參考我點擊該元素到函數來確定正確的值(例如點擊數據值爲「3」的div,它返回3)?

謝謝大家!

回答

2

試試這個:

$('.voto').on('click',function(){ 
    your_function_name($(this).attr('data-value')) 
    }); 
+0

@dorinocanciani你可以發佈您的代碼和HTML,爲了更好地瞭解您的需求... – AlexBerd

+0

爲什麼你認爲'attr'方法適用於這更好比'數據'方法? – Guffa

+0

@Guffa沒有完整的HTML和代碼,因此我想最好使用jquery attr()方法。可能會在完整的HTML和代碼後發佈您的答案將正確 – AlexBerd

1
$(".voto").click(function(){ 
    var voto_data_value = $(this).prop('data-value'); 
    function_name(voto_data_value); 
});