Grow your CSS skills. Land your dream job.

Last updated on:

Check for Empty Elements

Do something for each empty element found:

$('*').each(function() {
         if ($(this).text() == "") {
                   //Do Something
         }
});

TRUE or FALSE if element is empty:

var emptyTest = $('#myDiv').is(':empty');

Comments

  1. Cipa
    Permalink to comment#

    This might be a bit more practical
    $(‘p,em,b,strong,span’).each(function() {
    if (jQuery.trim ($(this).text()) == “”) $(this).css(‘border’,’solid 1px red’);
    });

  2. Permalink to comment#

    Hey Chris, I think you’ve missed the single quotes around :empty

    .is(‘:empty’)

  3. Junyo
    Permalink to comment#

    Not true, how about ”

    “?It’s not empty, but it hasn’t text. I think checking childNodes property is better.

    $(‘*’).each(function() {
    if (!this.childNodes.length) {
    //Do Something
    }
    });

  4. Junyo
    Permalink to comment#

    Contents of my previous reply in the double quotes are filtered, here it is:
    <div><img/></div>

  5. Kyle
    Permalink to comment#

    Thank you Cipa! I think that trim makes a difference.

  6. sankar
    Permalink to comment#

    nice …

Leave a Comment

Posting Code

Markdown is supported in the comment area, so you can write inline code in backticks like `this` or multiline blocks of code in in triple backtick fences like ```this```. You don't need to escape code in backticks, Markdown does that for you.

Sadly, it's kind of broken. WordPress only accepts a subset of HTML in comments, which makes sense, because certainly some HTML can't be allowed, like <script> tags. But this stripping happens before the comment is processed by Markdown (via Jetpack). It seems to me that would be reversed, because after Markdown processes code in backticks, it's escaped, thus safe. If you think you can fix this issue, get in touch!

If you need to make sure the code (typically HTML) you post absolutely posts correctly, escape it and put it within <pre><code> tags.

Current ye@r *

*May or may not contain any actual "CSS" or "Tricks".