在将元素添加到DOM之前删除元素

时间:2016-08-05 09:07:33

标签: jquery dom

.cell次加载时创建了一系列document个元素。 只有在其中添加 img 时,它们才有用。 我需要阻止它们被创建,因为它们与其他li元素的创建相关联。

谢谢。

源代码:

<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 个答案:

答案 0 :(得分: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();
    }
});

在文档就绪范围内运行此代码,您将获得结果。

答案 1 :(得分:0)

下一个代码,在渲染之前检查您的页面。 <li>定义为未在开始显示。检查完你想检查的内容后,你决定它是否显示......

 $(document).ready(function() {

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

    }
});

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