これが一般的に使用されるものである場合は、独自のセレクターを作成してください:) 次に例を示します。
jQuery.expr[':'].hiddenByParent = function(a) {
return jQuery(a).is(':hidden') && jQuery(a).css('display') != 'none';
};
次のように使用して、マークアップをテストできます。
<div style="display: none" id="parent">
<div>
<div id="child">Test</div>
</div>
</div>
使用例:
$("div:hiddenByParent").length; // "2" (plain div + child match)
$("#child").is(":hiddenByParent"); // true
.filter()
または、次のように関数を使用できます。
$('selector').filter(function() {
return $(this).is(':hidden') && $(this).css('display') != 'none';
}