Если вам нужно скрыть весь div, когда внутренний дочерний элемент пуст, тогда вы не можете использовать псевдокласс :empty
, потому что сам div
не будет пустым.
Так что, если вы хотите CSS -только решение, обходной путь должен напечатать значение также как атрибут элемента div
<div data-value="[DaysOfIncapacity]">
Days Of Incapacity: <b style="background-color: inherit;">[DaysOfIncapacity]</b>
</div>
и скрыть элемент, когда атрибут пусто, например
div[data-value=""] { display: none }
В противном случае вам нужно использовать JS: циклически перебирать все элементы <b>
, читать их свойства .textContent
и при необходимости скрывать родительский элемент
var b = document.querySelectorAll('b');
[...b].forEach((data) => {
if (data.textContent === '') {
data.parentNode.style.display = 'none';
//or add a class that hides the element
}
});
<div>Amount 1 <b>100</b></div>
<div>Amount 2 <b></b></div>
<div>Amount 3 <b>200</b></div>