:empty Selector

Select all elements that have no children (including text nodes).


This is the inverse of :parent.

One important thing to note with :empty (and :parent) is that child elements include text nodes.

The W3C recommends that the <p> element have at least one child node, even if that child is merely text (see https://www.w3.org/TR/html401/struct/text.html#edef-P). Some other elements, on the other hand, are empty (i.e. have no children) by definition: <input>, <img>, <br>, and <hr>, for example.

Finds all elements that are empty - they don't have child elements or text.

<table border="1">
    <td>TD #0</td>
    <td>TD #2</td>
td {
  text-align: center;
$("td:empty").text("Was empty!").css("background", "rgb(255,220,200)");

Looking for a Web Developer?


Hi! I'm Basti, author of this site. If you are looking for a web developer with 15+ years of experience, holla at me!

Be it the good 'ol jQuery, vanilla JS or modern frameworks like Vue and Svelte, front- or backend, I can help you.

Just write me at jobs@jqapi.com :)