从jquery事件中获取自定义数据

时间:2016-01-23 20:37:43

标签: javascript jquery html

我有一个名为itemID的自定义属性 - 如何获取其值,以便将其放入URL中,类似于我获取ID的方式?

JS:

<script type="text/javascript">
$(document).ready(function(){ 
    $('.eventImage').click(function(e){ 
    $this = $(this);
       $.ajax({
        url: "http://server.local/action.php?event="+$this.attr("id")+"&itemID="+$this.data('itemID'),
        type:'POST',
        });
    }); 

});
</script>

HTML:

<img class='eventImage' id='ITEM_3_ON' src='images/livingroom/1-2.png' data-itemID='3'/>

3 个答案:

答案 0 :(得分:0)

您需要以这种方式提供:

$(document).ready(function(){ 
    $('.eventImage').click(function(e) {
       $this = $(this); // Make a copy of the image.
       $.ajax({
        url: "http://server.local/action.php?event="+$this.attr("id")+"&itemID="+$this.data('itemID'), // Use $this here.
        type:'POST',
        });
    }); 
});

<强>的变化:

我想,event.target有改变的倾向,因为你正在调用AJAX的回调函数。

  1. 使用$this引用AJAX调用中的当前对象。
  2. 使用相同的$this获取id

答案 1 :(得分:0)

我认为$this.attr("data-itemID")是解决方案..

答案 2 :(得分:-1)

如果你想使用转移事件,那么你应该使用e.target.id和e.target.attributes属性[&#39; data-itemID&#39;]。值不是event.target.id就像你一样将e转移到点击处理函数..

请注意,e.target返回javascript对象而不是jquery对象。