How can I get the .statistics-list
that contains a ul
with no li
's to be hidden?
.statistics-section {
border: 2px solid red;
}
.statistics-section:has(ul:has(:not(li))) {
display: none;
}
<div class="statistics-section">
<h2>Hello 1 - This should be visible</h2>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
<div class="statistics-section">
<h2>Hello 2 - This should be hidden</h2>
<ul></ul>
</div>
Test if there is any li
. No need to include the ul
in the selection
.statistics-section {
border: 2px solid red;
}
.statistics-section:not(:has(li)) {
display: none;
}
<div class="statistics-section">
<h2>Hello 1 - This should be visible</h2>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
<div class="statistics-section">
<h2>Hello 2 - This should be hidden</h2>
<ul></ul>
</div>
Or test an empty ul
.statistics-section {
border: 2px solid red;
}
.statistics-section:has(ul:empty) {
display: none;
}
<div class="statistics-section">
<h2>Hello 1 - This should be visible</h2>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
<div class="statistics-section">
<h2>Hello 2 - This should be hidden</h2>
<ul></ul>
</div>