JQuery:从子元素获取数据

JQuery:从子元素获取数据,jquery,Jquery,标记: 没有任何结果 哦。该列表在页面加载后生成。我正在查询数据库以获取列表。此外,根据用户过滤数据库的方式,列表也可能更改 谢谢。如果列表是在加载页面后生成的,则。单击绑定可能无法工作。也许你可以试试.live,就像这样: $('.item-list').click(function(){ var link = $(this); alert($(this).data('id')); }); 编辑: 我似乎总是忘记的是:)从jQuery 1.7开始,.live()已被弃用。您应该像这样使用

标记:

没有任何结果

哦。该列表在页面加载后生成。我正在查询数据库以获取列表。此外,根据用户过滤数据库的方式,列表也可能更改


谢谢。

如果列表是在加载页面后生成的,则
。单击
绑定可能无法工作。也许你可以试试
.live
,就像这样:

$('.item-list').click(function(){
 var link = $(this);
 alert($(this).data('id'));
});
编辑:

我似乎总是忘记的是:)从jQuery 1.7开始,
.live()
已被弃用。您应该像这样使用
.on()

$('.item-list').live('click', function(){
   var link = $(this);
   alert($(this).data('id'));
});

使用.on,因为live已被弃用,并将您的代码放入
document.ready()


查看这是否有效,因为jquery 1.7.live()已被弃用。使用.on()而不是.dude如果在将事件附加到DOMI()后加载内容,则使用on的方法是错误的。在我的.on()示例中,正如@Somebodyisintrouble正确提到的那样。我编辑了这个例子。你也可以看看他的答案!那不是link.attr('data-id')吗?我的示例并不是我的数据的结构。若它是。项目列表在一个表中呢?并没有问题,直到。项目列表在主体内
$('.item-list').live('click', function(){
   var link = $(this);
   alert($(this).data('id'));
});
 $("body").on("click",".item-list",function(){
    var link = $(this);
    alert($(this).data('id'));
});
$(function(){  //short form of document.ready        
    $("body").on("click",".item-list",function(){
        var link = $(this);
        alert($(this).data('id'));
    });
});
$('ul').on('click', '.item-list', function() {
  var link = $(this);
  alert(link.attr('data-id'));
});