2011-03-31 4 views
0

저는 jQuery에서 꽤 새로워지고 더 좋아 지려고합니다. 나는이 코드 조각을 마련하려고 : 나는이 UL # 결과 목록이 DIV 번호 붐이있는 경우 div.page 네비게이션 사라지게하기 위해 노력하고있어jQuery .has() 다른 요소를 대상으로

$(document).ready(function(){ 
    $("ul#result-list").has("div#boom")(
     function() { 
     $("div.page-navigation").css("display", "none")); 
    }); 
}); 

. 지금까지 웹 전체를 검색 했음에도 불구하고 운이 없습니다. 내가 멀리 떨어져 있니?

+0

html 마크 업이 있습니까? – Neal

답변

3

.has()은 true 또는 false 부울 값이 아닌 일치하는 dom 요소를 반환합니다. 대신 length 속성을 확인하여 div#boom#result-list에 있는지 확인하십시오. 이 같은

뭔가 :

$(document).ready(function(){ 
    $("ul#result-list").has("div#boom")(
     function() { 
     $("div.page-navigation").css("display", "none")); 
    }); 
}); 

.has() 후이를 열고 있다는 것을 의미

$(document).ready(function() { 
    if ($("ul#result-list").has("div#boom").length) { 
    $("div.page-navigation").hide(); 
    } 
}); 
+0

그 트릭을 했어! 신속한 답변을 주셔서 감사합니다. 나는 지난 3 시간 동안 이것을 알아 내려고 노력해 왔습니다 ... – Julesfrog

1

시도 뭔가이 같은 HEL 주셔서 감사합니다 : 붐 div 요소를 가지고 적어도 하나의 결과 목록 항목이 있는지

$(document).ready(function() { 
    if($('ul#result-list:has(div#boom)').length > 0) { 
     $('div.page-navigation').hide(); 
    } 
} 

이 페이지 네비게이션 사업부를 숨 깁니다.

0

내가 볼 수있는 유일한 문제, 정말, 당신이 방법을 체인하지 않을 것입니다 메서드에 첨부되지 않은 괄호 이 예제에서는 체인을 시도하는 대신 if 문을 사용하고 시도해야한다고 제안합니다. 내 생각을 게시 하겠지만, @DNR@Alex이 먼저 도착했습니다.

관련 문제