2012-11-19 2 views
0

나는이 같은 일부 생성 된 출력이 있습니다제거 부모의 부모 또는 특정 태그

<figure> 
    <a href="location.php"><img src=""></a> 
</figure> 

을 내가 적용 할 때이 JS :

$(funciton() { 
    $('img').each(function(){ 
     if($(this).attr('src') == null || $(this).attr('src') == '') 
      { 
       $(this).parent().remove(); 
      } 
}); 

그것은 img 태그를 제거하고 태그의 부모 만 나는 paren't의 부모 태그를 제거하거나 그냥 그래서 빈 entit이없는 트림 수있는 방법

<figure> 
"&#8203"   ​ 
</figure> 

을 다음 페이지에서이 출력을 잎 선물이야? 그림 태그에 아무 것도 있으면 CSS에서 1px 높이와 여백을 갖습니다. 나는 CSS를 바꿀 수 있지만 이것을 알아 내고 싶다. 도움을 많이 받았다. 당신은 이미지 태그는 더 .src가없는 경우 부모 <figure> 태그가 비어 있는지 확인하려면

답변

1

, 당신은이 작업을 수행 할 수 있습니다

$(function() { 
    $('img').each(function() { 
     if(!this.src) { 
      $(this).closest("figure").empty(); 
     } 
    } 
}); 

.empty() 모든 childNodes에와 요소에있는 텍스트를 모두 제거합니다.

참고로 .src에서 비교를 단순화했습니다. 먼저 jQuery를 사용할 필요가 없습니다. 단일 테스트에서 빈 값을 확인할 수 있습니다.

<figure> 태그가 페이지에서 아무 공간도 차지하지 않게하려면 .hide()을 수행하면됩니다.

+0

위대한, .closest 내가 필요한 것입니다. 둘 다 어느 정도는 작동했지만 empty()보다는 .remove()를 사용했습니다. –

+0

또한 .src 비교를 단순화하지 못했습니다. 길게 길을 사용했었다. –