2009-05-19 6 views
1

이것이 처음으로 여기에 올린 글입니다. 높이가 낮거나 낮은 것을 검색하여 지금까지 답변을 찾을 수없는 질문이 있습니다. 다음JQuery : 다른 태그가 비어 있거나 없으면 html 태그 표시/숨기기

되는 HTML이 될 것이다 :

<span class="label">Label:</span>
<span class="value">{{Value}}</span>

기본적으로 {{}} 값은 PHP/MySQL을 통해 (또는 생략)에 삽입 된 변수이다. 물론
경우 {{값}}에 페이지가 렌더링 될 때 비어, 다음을 얻을 :

<span class="label">Label:</span>
<span class="value"></span>

생각은 라벨입니다 : 아무것도가 {{이없는 경우 숨길 수 값}}.

$ (. 값 : 빈) & if 문을 사용하여 다양한 예제를 시도했지만 .label은 관계없이 숨 깁니다.

모든 의견을 환영합니다. 사전에
감사합니다,

+0

{{Value}}의 존재 여부에 따라 행을 내보내거나 내보낼 수있는 PHP 구문이 있습니다. PHP를 제어하는 ​​경우 서버에서 if 문을 사용하여 유효한 행의 레이블 만 보내도록하십시오. –

답변

3
$(".value").each(function(){ 
    var value = $.trim($(this).text()) 
    if(value == ""){ 
    $(this).prev(".label").hide() 
    } 
}) 

PS를 사용해보십시오. .label .value 쌍을 LI 또는 DIV의 일종으로 캡슐화하는 것이 좋습니다.

+0

내 자신의 지시에 따라 trim ($ this) deal 공백 문자 만있는 경우? –

+0

Thomas, 맞아요, 원래의 : 빈 선택기가 작동하지 않는 이유가 여기에 있습니다. – duckyflip

+0

.label 클래스가있는 요소가 즉시 사용되었는지 확인하기 위해 마크 업을 편집했습니다. .value 전에 (그 사이에 다른 태그가있어 작동하지 않게되었습니다 ..) 대단히 감사합니다. 덕분에 모든 사람들에게 감사드립니다. 대답했다. 롭 –

0

if ($('.value').text() == '') { $('.label').hide(); } 
+0

페이지에 여러 개의 .value/.label 쌍이 있으면 작동합니까? –

+0

감사합니다. 이 하나를 시도하고 여전히 그것을 보여줍니다. 라벨 : ( –

+0

롭, 토마스는 _one_ value/label 쌍이있는 경우에만 작동합니다. 여러 쌍이 있으면 비어 있지 않은 하나의 .value 스팬이있는 경우, 조건을 충족시키지 못합니다. 식별에 사용할 수있는 html 요소에 다른 속성 (id 또는 something)이 있습니까? DOM 트리의 위치는 어디입니까? –

관련 문제