jQuery从div标签中查找数据

时间:2013-08-04 19:59:19

标签: jquery

使用bootstrap主题创建带菜单的下拉按钮,当我点击"今日付费"时,我试图在div标签中获取data-pay_for_month。

HTML

<div data-pay_for_month="1375315200" class="btn-group">
  <a href="#" data-toggle="dropdown" class="btn dropdown-toggle">
    Set
    <span class="caret"></span>
  </a>
  <ul class="dropdown-menu">
    <!-- dropdown menu links -->
    <li><a class="paid-today">Paid today</a></li>
  </ul>
</div>

Jquery的

var $this = $(this);
alert($this.closest("div").find('.btn-group').data('pay_for_month'));

输出仍未定义。怎么了?它找到了错误的最近的div吗?

3 个答案:

答案 0 :(得分:0)

.find()查找元素的后代,但在您的情况下,最接近的div本身就是.btn-group,因此您只需过滤closest()以确保获得该类的div你需要

$('.paid-today').click(function(){
    alert($(this).closest('div.btn-group').data('pay_for_month'));
});

答案 1 :(得分:0)

jQuery.find('.paid-today').on('click', function() { alert($(this).parents('.btn-group').data('pay_for_month')) })

答案 2 :(得分:0)

我会做...

$('.paid-today').click(function(){

alert($(this).closest("div").data('pay_for_month'));

});