-1

使用引导主题创建带有菜单的下拉按钮,当我单击“今天付费”时,我试图在 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?

4

3 回答 3

0

我只会做...

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

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

});
于 2013-08-04T20:20:35.290 回答
0

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

$('.paid-today').click(function(){
    alert($(this).closest('div.btn-group').data('pay_for_month'));
});
于 2013-08-04T20:01:53.557 回答
0
jQuery.find('.paid-today').on('click', function() { alert($(this).parents('.btn-group').data('pay_for_month')) })
于 2013-08-04T20:02:19.963 回答