2015-10-18 177 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); 
});