点击后无法获取数据ID

时间:2015-10-13 09:58:13

标签: javascript jquery html

我在点击相应的div后尝试获取data-id属性。这是我的html结构:

<div id="existing-risorse-list">
   <div data-id="30">Cabina Cb</div>
   <div data-id="32">Risorsa1 R1</div>
   <div data-id="33">Cabina2 Cb2</div>
</div>

基本上当用户点击Cabina Cb时,我想要返回ID 30,这是我的代码:

$(document).on('click', '#existing-risorse-list div', function() 
{
    var this_id = $(this).attr('data-id');
    alert(this_id); 
});

事件被正确触发但警报返回

  

未定义

我做错了什么?

2 个答案:

答案 0 :(得分:0)

Demo

$("#existing-risorse-list div").on('click', function() 
{
    var this_id = $(this).attr('data-id');
    alert(this_id); 
});

答案 1 :(得分:0)

@Diptox代码有效但性能不高,您问题中的原始代码是更好的方法,因为事件在单个元素上。您定位$(document)的问题可能一个简单的解决方案就是定位#existing-risorse-list,例如:

$("#existing-risorse-list").on('click','div', function() 
{
    var this_id = $(this).attr('data-id');
    alert(this_id); 
});

希望有所帮助