【问题标题】:How to remove empty elements after class?(jQuery)如何在课后删除空元素?(jQuery)
【发布时间】:2016-03-24 15:58:17
【问题描述】:

我在某个类之后有一系列元素,它们是空的或里面有一个空格。

<div class="post-content">
     <div class="slider-1-smart">
     --- contents of the slider ---
     </div>

     <div></div>
     <div>   </div>

     <ul>
         <li>Text 1</li>
         <li>Text 2</li>
         <li>Text 3</li>
     </ul>  
</div>

这是我目前尝试过的代码:

$(function() {
    $('.post-content > div:empty').each(function() {

        j(this).remove();

    });
});

该代码的结果是滑块容器也消失了。 class="slider-1-smart"之后的元素怎么选并去掉

请告诉我,谢谢

【问题讨论】:

    标签: javascript jquery html css wordpress


    【解决方案1】:

    :empty psuedo-class 只选择完全为空的元素。换句话说,如果它有空格,从技术上讲它不被认为是空的。

    您可以使用.nextAll() 选择以下所有同级div 元素,然后根据修剪后的HTML 是否等于空字符串来过滤它们:

    Example Here

    $('.post-content > .slider-1-smart').nextAll('div').filter(function() {
      return $.trim($(this).html()) === '';
    }).remove();
    

    【讨论】:

      【解决方案2】:

      如果您不想检查滑块元素的内容,您只需对代码进行一次修改即可。将.not("slider-1-smart") 添加到选择器链中。

      $(function() {
          $('.post-content > div:empty').not(".slider-1-smart").each(function() {
      
              $(this).remove();
      
          });
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-26
        • 2013-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多