2016-08-05 5 views
-2

.cell 요소의 시리즈는 document로드에 작성됩니다. img이 추가 된 경우에만 유용합니다. 다른 li 요소를 만드는 것과 연결되어 있기 때문에 생성하지 못하게해야합니다.DOM에 추가되기 전에 요소를 제거하십시오.

감사합니다.

소스 코드 : DOM에서 일치하는 요소의

<div class="main-container"> 
    <div class="parent-container"> 

     <div class="cell">  !always added 
      <div class="container">  !always added 
      <div class="screen"></div>  !always added 
      <img> **!If added** 
      </div>            
     </div> 

    </div> 
    <li>Created even if not needed</li> 
</div> 
+2

jQuery 코드를 표시하고 여기에서 이들 요소를 생성하십시오. –

+0

이것은 설명이 잘되어 있지 않고 원하는 것이 명확하지 않습니다. 또한이 신비한 문서로드 코드는 어디에 있습니까? – Liam

+0

표시 할 수 있습니다 : 해당 요소 없음 및 그들이 jquery (클래스를 호출하고 display : block 설정) 또는 html로 렌더링하지 않는 것을 결정하고 jquery (원하는 경우)로 렌더링 –

답변

1

.remove() 세트.

.empty()와 유사하게 .remove() 메소드는 DOM에서 요소를 가져옵니다. 요소 자체를 제거하려면 .remove()를 사용하고 내부에는 모두 을 사용하십시오. 요소 그 자체 외에도 요소와 연관된 모든 바운드 이벤트 및 jQuery 데이터가 제거됩니다. 데이터 및 이벤트를 제거하지 않고 요소를 제거하려면 대신 .detach() 을 사용하십시오.

간단한 예 : HTML

<div class="container"> 
    <div class="hello">Hello</div> 
    <div class="goodbye">Goodbye</div> 
</div> 

jQuery를 : 당신을 위해

$(".hello").remove(); 

솔루션 : -

$(document).ready(function() { 
     var img=$('.cell>div>div img'); 
     if(img.length>0){ 
      return; 
     } else 
     { 
      $('.cell').remove(); 
    } 
}); 

실행하면 결과를 얻을 문서 준비 범위에서이 코드 .

0

다음 코드는 렌더링하기 전에 페이지를 확인하십시오. <li>은 시작될 때 보이지 않는 것으로 정의됩니다. 확인을 원하는 항목을 확인한 후 표시했는지 여부를 결정하십시오.

$(document).ready(function() { 

    if (your_condition) { 
     $("#li_1").show(); 
    } else { 

    } 
}); 

<li id="li_1" style="display:none"><!--DO YOUR STUFF--></li> 
관련 문제