javascript - 隐藏每个 parent 的第一个 child 以外的所有 child

标签 javascript jquery

我想隐藏每个 .parent 的所有子元素 (.push_down) 除了第一个 (.push_down[0] ) 并且我尝试使用以下代码,但这不是正确的方法,因为它不起作用。如果有人知道正确的方法,请回答。

$(document).ready(function(){
  var len = $('.parent').length;
  for(let i = 0; i < len; i++) {
    var blocks = $('.parent').[i].$('.push_down');
    var block_len = $('.parent').[i].$('.push_down').length;
    for(let j = 1; j < block_len; j++) {
      $('.parent').[i].$('.push_down')[j].addClass('hidden');
    }
  }	
});
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <style>
    .block{
        height: 200px;
        background: lavender;
        padding: 20px;
        text-align: center;
        font-size: 20px;
        color: #000;
    }
    .push_down {
        margin-bottom: 30px;
    }
    .hidden {
        display: none;
    }
  </style>
</head>
<body> 
<div class="container">
    <div class="row">
        <div class="col-md-12">         

            <div class="col-md-offset-3 col-md-6 col-sm-8">
                <div class="parent">
                    <div class="panel-primary">
                        <div class="panel-heading push_down">
                            <div class="block">
                                BLOCK A
                            </div>
                        </div>

                        <div class="panel-heading push_down">
                            <div class="block">
                                BLOCK B
                            </div>
                        </div>

                        <div class="panel-heading push_down">
                            <div class="block">
                                Here
                            </div>
                        </div>

                        <div class="panel-heading push_down">
                            <div class="block">
                                Where
                            </div>
                        </div>

                        <div class="panel-heading push_down">
                            <div class="block">
                                Dark
                            </div>
                        </div>


                        <div class="panel-heading push_down">
                            <div class="block">
                                BLOCK B
                            </div>
                        </div>

                    </div>  
                </div>

                <div class="parent">
                    <div class="panel-primary">
                        <div class="panel-heading push_down">
                            <div class="block">
                                BLOCK AA
                            </div>
                        </div>

                        <div class="panel-heading push_down">
                            <div class="block">
                                BLOCK BB
                            </div>
                        </div>              
                    </div>  
                </div>  
            </div>




        </div>  
    </div>

</body>

</html>

最佳答案

你可以试试下面的代码。我找到每个 .parent 类,然后使用 :gt() 选择器找到 .push_down 类,它将选择高于给定值,在本例中为 0。在以下代码片段中找到可行的解决方案:

$(document).ready(function() {
  $('.parent').find('.push_down:gt(0)').hide();
});
.block {
  height: 200px;
  background: lavender;
  padding: 20px;
  text-align: center;
  font-size: 20px;
  color: #000;
}

.push_down {
  margin-bottom: 30px;
}

.hidden {
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
  <div class="row">
    <div class="col-md-12">
      <div class="col-md-offset-3 col-md-6 col-sm-8">
        <div class="parent">
          <div class="panel-primary">
            <div class="panel-heading push_down">
              <div class="block">
                BLOCK A
              </div>
            </div>
            <div class="panel-heading push_down">
              <div class="block">
                BLOCK B
              </div>
            </div>
            <div class="panel-heading push_down">
              <div class="block">
                Here
              </div>
            </div>
            <div class="panel-heading push_down">
              <div class="block">
                Where
              </div>
            </div>
            <div class="panel-heading push_down">
              <div class="block">
                Dark
              </div>
            </div>
            <div class="panel-heading push_down">
              <div class="block">
                BLOCK B
              </div>
            </div>
          </div>
        </div>
        <div class="parent">
          <div class="panel-primary">
            <div class="panel-heading push_down">
              <div class="block">
                BLOCK AA
              </div>
            </div>
            <div class="panel-heading push_down">
              <div class="block">
                BLOCK BB
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>

关于javascript - 隐藏每个 parent 的第一个 child 以外的所有 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50159819/

相关文章:

java - FullCalendar - 添加多个事件或添加事件源

jquery - DOM 准备好后,jQuery 创建的 HTML 是否可以被 Google 抓取?

jquery - $(body).css( {'background-image' :'url' }) 不起作用

jquery - 在 jQuery 中嵌套点击事件

javascript - SCRAM 客户端 Javascript 实现/示例/库?

javascript - ng-repeat through object with value 作为数组 Angular

javascript - 有效负载(空内容类型)禁止错误 |在 ember 中从服务器下载 pdf 文件时

javascript - 将父节点获取到 d3 树状图中的给定节点

javascript - 无法执行 i 类点击功能

jquery - 使用 JQuery 设置 div 的高度属性会产生不一致的行为