Yes, I did a `&&` version in an earlier commit (https://github.com/domchristie/ExpandingTextareas/commit/a6f5386e43e80b4c225d6a491e50d532229458f4#diff-ebaffeec443f4f0cfbea31893e1dc258R196) but changed it in favour of what jQuery did in v1.3.2:

>  In jQuery 1.3.2 an element is visible if its browser-reported offsetWidth or offsetHeight is greater than 0.

From: http://blog.jquery.com/2009/02/20/jquery-1-3-2-released/

It’s very slightly different in the most recent version of jQuery, but largely the same idea:

    jQuery.expr.filters.hidden = function( elem ) {
      // Support: Opera <= 12.12
      // Opera reports offsetWidths and offsetHeights less than zero on some elements
      return elem.offsetWidth <= 0 && elem.offsetHeight <= 0;
    };
    jQuery.expr.filters.visible = function( elem ) {
      return !jQuery.expr.filters.hidden( elem );
    };