From 79bcb291324167ab2d844027d0cdc6300613d010 Mon Sep 17 00:00:00 2001 From: Timmy Willison Date: Fri, 8 May 2015 15:27:54 -0700 Subject: CSS: fix :visible/:hidden selectors for inline element w/ content - Reverts behavior from 10399dd, which we never released. BR and inline elements are considered visible. - The possibility of dropping .offsetWidth and .offsetHeight was debunked by this perf: http://jsperf.com/visible-hidden-and-getclientrects Fixes gh-2227 Close gh-2281 --- src/css/hiddenVisibleSelectors.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/css') diff --git a/src/css/hiddenVisibleSelectors.js b/src/css/hiddenVisibleSelectors.js index 01ecc3396..b4d7482e8 100644 --- a/src/css/hiddenVisibleSelectors.js +++ b/src/css/hiddenVisibleSelectors.js @@ -4,12 +4,10 @@ define([ ], function( jQuery ) { jQuery.expr.filters.hidden = function( elem ) { - // Use OR instead of AND as the element is not visible if either is true - // See tickets #10406 and #13132 - return !elem.offsetWidth || !elem.offsetHeight; + return !jQuery.expr.filters.visible( elem ); }; jQuery.expr.filters.visible = function( elem ) { - return !jQuery.expr.filters.hidden( elem ); + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); }; }); -- cgit v1.2.3