我有这段代码HTML:
<div>
<div>
<button class="btn-slide"><span class="fa fa-caret-down" aria-hidden="true"></span></button>
</div>
<div class="block">
...
</div>
</div>
我的论坛模板中有几个这样的元素。我使用标准的js toggle()脚本:
$(document).ready(function() {
$('btn-slide').click(function() {
$('.block').slideToggle(50);
});
});
当我点击按钮时,所有组件显示或隐藏但我想隐藏/只显示我选择的这个元素。我认为我可以在第3行使用 $(this).childern ,但如果你看到 .block isn&#39; ta btn-slide 子女。那么我怎样才能实现我的目标呢?
答案 0 :(得分:1)
$(document).ready(function() {
$('.btn-slide').click(function() {
$(this)
// get all div in parent level
.parents('div')
// get immediate sibling with class block after the element
.next('.block')
.slideToggle(50);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div>
<div>
<button class="btn-slide"><span class="fa fa-caret-down" aria-hidden="true"></span>
</button>
</div>
<div class="block">
...
</div>
</div>
<div>
<div>
<div>
<div>
<button class="btn-slide">
<span class="fa fa-caret-down" aria-hidden="true"></span>
</button>
</div>
</div>
</div>
<div class="block">
...
</div>
</div>
答案 1 :(得分:0)
用这个
改变你的js$(document).ready(function() {
$('.btn-slide').click(function() {
$(this.nextSibling.parentNode.nextElementSibling).slideToggle(50);
});
});
答案 2 :(得分:0)
如果可能,您可以将另一个唯一的类添加到SELECT * FROM userdetails usr1
WHERE (n-1) = (
SELECT COUNT(DISTINCT(usr2.salary ))
FROM userdetails usr2
WHERE usr2.salary > usr1.salary )
block
,并使用切换事件到该类。
block-new