我有以下标记:
<div class='header-vals' data-item-id='23'>
<input type='text' name='some-input' />
<input type='text' name='some-other-input' />
</div>
并且想要使用类似的东西访问data-item-id(但这不起作用):
$('.header-vals').on('keyup','input',function(){
var item_id=$(this).data('item-id');
});
有没有办法将这个引用到外面,以便我可以得到data-item-id?
事先提前答案 0 :(得分:2)
这样做: -
$('.header-vals').on('keyup','input',function(){
alert($(this).parent().attr('data-item-id'));
});
参考 LIVE DEMO
答案 1 :(得分:1)
var item_id = $(this).parent().attr('data-item-id');
答案 2 :(得分:1)
Felix是正确的(感谢伙计)..
$(this)指的是输入...检查下面的代码,只需添加父代:
您的代码可以使用,只需使用attr
切换数据$('.header-vals').on('keyup','input',function(){
var item_id=$(this).parent.attr('data-item-id');
});
.data()函数用于将数据绑定到元素,而不是选择属性 http://api.jquery.com/jQuery.data/
答案 3 :(得分:1)
试试这个:
$('.header-vals').on('keyup','input',function(){
var item_id=$(this).parent().attr('data-item-id');
});
OR
$('.header-vals').on('keyup','input',function(){
var item_id=$(this).parent().data('item-id');
});
以下是使用数据功能的demo。