2013-07-25 6 views
0

내가 "날짜 선택기"나는 정상 DIV에 스타일 = "투명"을 적용 할 필요가jQuery를 - 아이

<div class="rereg-input180"> 
    ... some layers 
     <input class="one two datepicker three"> 
       .... 

의 클래스와 입력을 포함 할 수있는 사업부가가있는 부모를 선택. 그러나 div에 datepicker 자식이 포함되어 있지 않은 경우에는 원하지 않습니다.

어떻게 선택합니까?

+2

이 당신에게 – Huangism

답변

2

당신은 또한 할 수 :

$('.datepicker').closest('.rereg-input180').addClass('clear'); 
+0

를 (사용하기 때문에 큰 문제는) 여전히 빠르고, http://jsperf.com/jquery-closest-vs-has – Huangism

+0

하지 프리 페치 항목 편집을 참조한다 없습니다 : HTTP ://jsperf.com/jquery-closest-vs-has/3 – KnowHowSolutions

2

이 작업을 수행 할 수 있습니다 -

$div = $('.rereg-input180'); 

if($div.find('.datepicker').length){ 
    // apply style 
} 
1

사용할 수 .has() http://api.jquery.com/has/를가 명확한 클래스의 경우, 모두 지우기를 원하는 가정은 할 수 있습니다 만 대신 .CSS의 .addClass() ()

$('.rereg-input180').has('.datepicker').css('clear', 'both'); 

좀 더 구체적으로하려는 경우이 선택을 사용할 수 있습니다

$('.rereg-input180').has('input.datepicker').css('clear', 'both'); 
1

을 할 수 :

$('div.rereg-input180:has(:text.datepicker)').css('clear', 'both') 
+1

도움이 될 것입니다 http://api.jquery.com/has/ 나는 이것도 우연히 만났다. 그러나 http://jsperf.com/jquery-has-vs-has – Huangism

+0

매우 흥미있는 @ Huangism는 그것을 모르고 있었다! –

+0

참으로 몇 일 전에 당신의 위치에이고 생각 I :이 더 있지만 분명히하지 롤 – Huangism

0

당신은 사용할 수 있습니다 jQuery's.parent()

$(".datepicker").parent().css("clear","both");