Накратко
Елемент без видим текст невинаги е празен за селектора.
Полезно е да знаеш
:empty избира елемент без деца. При обичайните браузърни реализации текстовите възли, включително празни интервали и нови редове, влияят на съвпадението. Коментарите не го правят. [1]
<div></div> съвпада, докато <div> </div> може да не съвпадне заради интервала. Това е важно при шаблон, който оставя отстъпи в празен контейнер. MDN описва и разликата между по-новото определение в спецификацията и реализациите. За критично състояние като „няма резултати“ е по-надеждно приложението да го отбележи изрично, вместо да разчита само на визуална празнота.
Източници
За повече подробности и проверка на информацията: