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'));
});