2012-06-12 5 views
1

div가 비어 있지만 mysql 검색 값과 관련되지 않은 div를 숨기는 여러 가지 해결책이 있습니다.검색된 mysql 값이 없을 때 div를 숨기기

<button class="platform_category" id="platform_', $platform['platform_id'],'_category"><a href="', $platform['platform_url'],'" target="_tab">', $platform['platform_category1'],'</a></button> 

MySQL의 행에 데이터가없는 경우는 $ 플랫폼 [ 'platform_category1를'] 생각하는 값이기 때문에 그 경우에는 MySQL의 값을 검색 할 경우에만 PHP 코드하더라도 JQuery와는 사업부를 숨기지 않습니다 하나있다. 숨어있는 jQuery 코드에 대한

나는 이것을 사용하고 있습니다 : (내가 함께 ==를 교체하는 경우 =이 숨 깁니다!) 클래스 platform_category

$(function() { 
    $('.platform_category').each(function() { 
     if ($(this).html() == "") { 
      $(this).hide(); 
     } 
    }); 
}); 

답변

2

버튼이 내부 HTML로 <a> 태그를, 그래서 html()을 메서드는 여기에 의미가 없습니다 (항상 <a>을 반환합니다). 대신 text()을 시도해보십시오

$('.platform_category').each(function() { 
    if ($(this).text() == "") { 
     $(this).hide(); 
    } 
}); 

좋은 참고 (@Blazemonger에서) :

if ($.trim($(this).text()) == "") { 
    $(this).hide(); 
} 
+1

'$ .trim()''.text()'가 안전한면에 놓이기를 원할 수도 있습니다. – Blazemonger

+0

오, 오, 남자 ... VisioN 대단히 감사합니다! 첫 번째 정답은 아프 – Hobby99

+2

+1입니다. –

-1
$('.platform_category').each(function() { 
    if ($.trim($(this).text()) == "") { 
     $(this).hide(); 
    } 
}); 
0

문제는 $ 그 ('. platform_category') ISN : $.trim() 방법으로 트리밍 텍스트를 사용하는 것이 좋다 왜냐하면 항상 div에 앵커 태그가 있기 때문입니다. 당신이

$(function() { 
    $('.platform_category').each(function() { 
     if ($(this).find('a').html() == "") { 
      $(this).hide(); 
     } 
    }); 
}); 
1

I 자바 스크립트를 통해 그것을 할 경우

은 당신도 PHP를 통해 (최적) 또는 자바 스크립트를 통해

통해 PHP

if ($platform['platform_category1'] != "") { 
    <button class="platform_category" id="platform_', $platform['platform_id'],'_category"> 
     <a href="', $platform['platform_url'],'" target="_tab">',$platform['platform_category1'],'</a> 
     </button> 

을이 두 가지 방법으로 할 수 필터를 사용하여 .platform_category의 콘텐츠를 확인합니다. 아래 참조,

$(function() { 
    $('.platform_category').filter(function() { 
     return $.trim($(this).text()) == ''; 
    }).hide(); 
}); 
+0

+1 형, 그것을 좋아해. – thecodeparadox

관련 문제