Visibility
The hidden object has no width or height, provided thatDisplay: None processed
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 );};
Content
- : Contains (text)
- : Empty
- : Has (selector)
- : Parent
Get text content matching through indexof
"contains": markFunction(function( text ) { return function( elem ) { return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; };}),
Null
Recursion of this node to exclude nodes with nodetype greater than 6
// Contents"empty": function( elem ) { // http://www.w3.org/TR/selectors/#empty-pseudo // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), // but not by others (comment: 8; processing instruction: 7; etc.) // nodeType < 6 works because attributes (2) do not appear as children for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { if ( elem.nodeType < 6 ) { return false; } } return true;},
View include
Recursive sizzle implements include search by passing context objects
"has": markFunction(function( selector ) { return function( elem ) { return Sizzle( selector, elem ).length > 0; };}),
Match an element containing child elements or text
"parent": function( elem ) { return !Expr.pseudos["empty"]( elem );},