2013-12-20 2 views
0

자식 div에 내용이 없으면 부모 div를 숨기는 여러 가지 방법을 사용하여 주변을 둘러 보았습니다. 일부 작업에서는 작동하지만 아무것도 작동하지 않습니다. 내 실제 사이트.자식 div가 html이 비어있는 경우 자식 div가 비어 있습니다.

Wordpress 플러그인 CPT 부트 스트랩 캐 러셀을 편집 중이며 고객 평가를 표시하는 새로운 맞춤 필드를 추가했지만 현재 클라이언트에서 단 한 번의 고객 평가를 얻었으므로 div가 emtpy 일 때 버튼을 숨기려고합니다. http://rookdesigns.co.uk/portfolio/

여기에 jQuery를 내 HTML과 같습니다 : 여기

페이지에 대한 링크입니다 또한과

떨어져 자식 DIV를 fadeToggle하기 위해 jQuery를이 조각을 사용하고

<div class="test btn btn-primary">Testimonials>> 
    <div class="carousel-quotes"> 
     <?php echo $image[ 'reff']; ?> 
    </div> 
</div> 



jQuery(".carousel-quotes:empty").parent().hide(); 

jQuery(".test").click(function(){ 
jQuery('.carousel-quotes').fadeToggle(); 

이것이 영향을 줄 수 있는지 확실하지 않습니다.

사전

에서

이에 어떤 도움이 아주 많이 감사합니다,

감사 텍스트 노드가 있기 때문에 최고의

해리

+0

어쨌든 'div'가 비어 있다면 ... 왜 그것을 숨기시겠습니까? – NoobEditor

+0

@Mayank : 부모 *를 숨 깁니다 * (다른 것들을 가지고 있습니다). –

+0

안녕하세요, 배경색이 파란색이기 때문에 숨기고 싶습니다. –

답변

1

:empty가 작동하지 않는 모든. div 내부에 공백이 없기 때문에

당신은 비어, 또는 당신이 사용할 수있는 경우 filter은 PHP를 변경할 수 있습니다 :

jQuery(".carousel-quotes").filter(function() { 
    return !$.trim($(this).text()); 
}).parent().hide(); 

또는 실제로, 특정 사용의 경우에, 우리는 $()를 호출 피할 수 있으며, 필터 기능에 text() : 자바 스크립트가 당신에 의해 허용 솔루션 인 경우

jQuery(".carousel-quotes").filter(function() { 
    return !$.trim(this.innerHTML); 
}).parent().hide(); 
+0

고맙다 TJ Crowder 님, 불행히도 불행히도 이것을 시도했지만 whitesapce에 대해 아는 것이 재미 있었을 것 같습니다. 아마도 그 대신에 시도해보아야합니다. –

+0

@HarryRook : 위의 * 작동 * : http://jsbin.com/IpuMAxif/1 (단지'setTimeout'을 사용하여 무엇이 숨겨지고 있는지를 알 수 있습니다 : [setTimeout'이없는 버전이 있습니다] (http://jsbin.com/IpuMAxif/2).) 아마 당신은 코드를 실행하기 전에 관련 요소가 존재합니까? 닫는'' 태그 바로 앞에 HTML의 맨 아래에 스크립트를 놓거나 (스크립트가 어디로 가야 할지를 제어하지 않는다면) jRead의'ready'를 사용하여 DOM 준비 콜백을 예약하십시오. –

0

,이 조각은 작동합니다 :

JS 작업 3,516,

 var ln = $.trim($('.carousel-quotes').text()); /* trim is important here to remove any white space inside the div */ 
     if (ln.length === 0) 
     { 
      $('.test').hide(); 
     } 

편집

문제의 원인이 될 수있는 페이지에 JS 에러가 :

'fadeSpeed'  : 2000, 
'targetHeight' : 100% 
'effect'  : 'effect-6' 
'direction'  : 'vertical' 

,이가 미 위의 값에서 ssing,

'fadeSpeed'  : 2000, 
'targetHeight' : 100%, 
'effect'  : 'effect-6', 
'direction'  : 'vertical' 

수정 한 후 확인하십시오!

+0

좋은 점이 있지만 불행히도 내 사이트에서는 작동하지 않습니다. 왜 두 옵션 모두 pastebin과 바이올린에서 작동하는지 알지 못하지만 내 사이트에는 아무 것도 추가되지 않습니다. div의 내용이 tinymce textarea에 의해 만들어 졌기 때문에 나는 이것이 어떻게 영향을 미칠지 모르겠다. 지금까지 모든 도움 주셔서 감사합니다 –

+0

귀하의 사이트에 URL을 제공 할 수 있습니까? – NoobEditor

+0

건배 : http://rookdesigns.co.uk/portfolio/ –

관련 문제