我想隐藏每个 .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/