我得到了以下重复的语法,我想保留所有<h1>
后面的至少一个不隐藏的 div,但删除剩余的孤儿<h1>
:
<h1>FIRST</h1>
<div></div>
<div></div>
<h1>SECOND</h1>
<div style="display:none"></div>
<div></div>
<h1>THIRD</h1>
<div style="display:none"></div>
<div style="display:none"></div>
<h1>FOURTH</h1>
<div></div>
<div></div>
如您所见,有时在 div 之前有一个<h1>
未隐藏的 div。所以在第三块我想隐藏<h1>
,但不是在第二块或任何其他块中。
我尝试的基本上是寻找一种情况,即 an<h1>
后面跟着另一个<h1>
,而忽略了两者之间的所有隐藏元素:
$('h1').each(function(){
if($(this).nextAll().not(':hidden') == $('h1')) { $(this).hide() }
})
不幸的是,它不会隐藏任何,<h1>
我只是不知道为什么,尽管我怀疑这个:hidden
属性是问题所在。应该注意的是,在我的真实代码中,隐藏<div>
不是由'display:none'隐藏,而是通过使用jQuerys .hide()
!
希望有人能帮忙。