Если я понял, что ваш вопрос (который вы сформулировали в запутанном виде) - это то, что вы ищете?
document.querySelectorAll('.elephant')
.forEach(el=>
{
if (!el.hasChildNodes())
{
el.parentNode.classList.add('alone')
}
})
.parent-pages {
min-height:1em;
border: 5px solid grey;
margin:1em;
padding:.4em;
}
.alone { border-color: red; }
<div class="parent-pages">
<div class="elephant">
<div> bob </div>
<div> paul </div>
</div>
</div>
<div class="parent-pages">
<div class="elephant"></div>
</div>
[обновить] Вы также можете использовать element.closest ()
document.querySelectorAll('.elephant')
.forEach(el=>
{
if (!el.hasChildNodes())
{
el.closest('div.parent-pages').classList.add('alone')
}
})
.parent-pages {
min-height:1em;
border: 5px solid grey;
margin:1em;
padding:.4em;
}
.alone { border-color: red; }
<div class="parent-pages">
<a href="#" class="parent">a element</a>
<div class="child-pages">
<div class="child-links">
<div class="elephant">
<div> bob </div>
<div> paul </div>
</div>
</div>
</div>
</div>
<div class="parent-pages">
<a href="#" class="parent">b element</a>
<div class="child-pages">
<div class="child-links">
<div class="elephant"></div>
</div>
</div>
</div>