2016-08-05 8 views
-2

.cell要素の系列がdocumentの負荷で作成されます。 imgが追加されている場合にのみ有効です。 他のli要素の作成にリンクされているため、それらを作成しないようにする必要があります。要素を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:ブロックを設定)で表示するか、htmlでレンダリングしないかを決定し、jqueryでレンダリングします(希望する場合) –

答えて

1

.remove() DOMからマッチした要素のセット。

.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> 
関連する問題