使用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吗?
答案 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'));
});