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

时间:2012-10-13 00:34:52

标签: jquery

我有以下标记:

<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?

事先提前

4 个答案:

答案 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