我有一个动态麻烦的网站;
想知道我是否可以用jQuery或原始JS写一个if语句,根据另一个元素是否在其下面隐藏元素。
所以像这样;如果<h1>
标记直接位于我的div id之下,请保持我的div元素存在;所有其他display: none;
答案 0 :(得分:2)
您可以使用not
,has
和first-child
选择器:
$('div:not(:has(>h1:first-child))').hide();
答案 1 :(得分:1)
您可以使用css隐藏所有相应的div,然后使用jquery显示它们是否包含<h1>
$('h1').parent('.sometimesHeader').show();
.sometimesHeader {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="sometimesHeader">I don't have an h1</div>
<div class="sometimesHeader"><h1>H1 is here!</h1></div>