2013-08-04 4 views
-1

부트 스트랩 테마를 사용하여 메뉴가있는 드롭 다운 버튼을 만들 때 "유료 오늘"을 클릭하면 div 태그에서 데이터 pay_for_month을 얻으려고합니다.div 태그에서 jQuery 데이터 찾기

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

나는 (그것이 가장 가까운'div' 때문에)'.closest ("DIV")가'은'.btn-그룹 '자체를 포함한다고 가정 해 봅시다. '.find'는 선택된 엘리먼트의 * descendants *만을 검색 할 것이고, 엘리먼트는 그 엘리먼트의 자손이 될 수 없다. '$ this.closest ("div"). 데이터 ('pay_for_month')'를 시도하십시오. –

+0

js 코드를 더 많이 보여줄 수 있습니까? 우리는 $ (this)가 무엇인지 알기 위해 전체 함수를 볼 필요가 있습니다. – dezman

답변

0

.find()은 요소의 후손하지만 가장 가까운 사업부가 자체 .btn-group 귀하의 경우에 보이는, 그래서 당신은 당신이

$('.paid-today').click(function(){ 
    alert($(this).closest('div.btn-group').data('pay_for_month')); 
}); 
0
jQuery.find('.paid-today').on('click', function() { alert($(this).parents('.btn-group').data('pay_for_month')) }) 
0
필요는 클래스와 사업부를 얻을 수 있는지 확인 closest()를 필터링 할 수 있습니다 난 그냥 할 것

...

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

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

}); 
관련 문제