如何在此示例中访问外部选择器

我有以下标记:

并希望不会像这样访问data-item-id(但这不起作用):

 $('.header-vals').on('keyup','input',function(){ var item_id=$(this).data('item-id'); }); 

有没有办法将此引用到外部,以便我可以获取data-item-id?

提前thx

这样做: –

 $('.header-vals').on('keyup','input',function(){ alert($(this).parent().attr('data-item-id')); });​ 

参考现场演示

菲利克斯是正确的(感谢伙计)..

$(this)指的是输入…检查下面的代码,只需添加父代:

您的代码将工作,只需使用attr切换数据

 $('.header-vals').on('keyup','input',function(){ var item_id=$(this).parent.attr('data-item-id'); }); 

.data()函数用于将数据绑定到元素,而不是选择属性http://api.jquery.com/jQuery.data/

 var item_id = $(this).parent().attr('data-item-id'); 

试试这个:

 $('.header-vals').on('keyup','input',function(){ var item_id=$(this).parent().attr('data-item-id'); }); 

要么

 $('.header-vals').on('keyup','input',function(){ var item_id=$(this).parent().data('item-id'); }); 

这是一个使用数据function的演示 。