2011-11-18 3 views
1

div 클래스의 하위 클래스에 특정 클래스가 포함되어 있는지 테스트해야하는 이벤트 핸들러를 트리거하는 이벤트 핸들러가 있습니다.jquery에는 특정 클래스의 하위 항목이 포함되어 있습니다.

지금은

, 나는이 일을 해요 :

$('#Container .DivData').live({ 
    mouseenter: function() { 
    if ($(this).find('.HiddenData')) { 
     // do something 
     } .... 

문제는 항상 때로는 아무도 없다하더라도 HiddenData을 찾을 것으로 보인다는 것이다.

여기에 문제가 있습니까?

답변

3

당신은 당신이 당신이 찾고있는 요소를 발견하면 수행하려는 작업에 따라 몇 가지 옵션이 있습니다

if ($(this).find('.HiddenData').length > 0) { 
    // do something 
} .... 
+0

감사합니다, 그것을 해결하는. – frenchie

0

시도 : 당신이해야 할 일이 jQuery를 경우

1) 메서드를 사용하고 찾고있는 함수에서 작동하도록하려면 if 문이 필요하지 않습니다. jQuery 메서드 만 지정할 수있다. 일치하는 요소가 발견되지 않으면 아무 것도 수행하지 않습니다.

$(this).find(".HiddenData").fadeIn(); 

2) 당신이하고 싶은 일이 jQuery를 방법이며 다음 또한 if 문을 필요하지 않습니다, 그것은 부모에 작동합니다. jQuery 메서드를 지정하고 .find() 대신 .has() 메서드를 사용할 수 있습니다. 일치하는 요소가 발견되지 않으면 아무 것도 수행하지 않습니다. 논리가 더 복잡하고 if 문을해야하는 경우

$(this).has(".HiddenData").css("color", "red"); 

3), 당신은이 같은 if 문을 수행 할 수 있습니다

if ($(this).find('.HiddenData').length > 0) 
관련 문제