forked from hpricot/hpricot
-
Notifications
You must be signed in to change notification settings - Fork 15
Supported CSS Selectors
garrytan edited this page Dec 8, 2010
·
2 revisions
In Hpricot, all of the following selectors are supported:
-
*
any element -
E
an element of type E -
E:root
an E element, root of the document -
E:nth-child(n)
an E element, the n-th child of its parent -
E:nth-last-child(n)
an E element, the n-th child of its parent, * counting from the last one -
E:nth-of-type(n)
an E element, the n-th sibling of its type -
E:nth-last-of-type(n)
an E element, the n-th sibling of its type, counting from the last one -
E:first-child
an E element, first child of its parent -
E:last-child
an E element, last child of its parent -
E:first-of-type
an E element, first sibling of its type -
E:last-of-type
an E element, last sibling of its type -
E:only-child
an E element, only child of its parent -
E:only-of-type
an E element, only sibling of its type -
E:empty
an E element that has no children (including text nodes) -
E:lang(fr)
an element of type E in language “fr” E:enabled
-
E:disabled
a user interface element E which is enabled or disabled -
E:checked
a user interface element E which is checked (for instance a radio-button or checkbox) -
E.warning
an E element whose class is “warning” -
E#myid
an E element with ID equal to “myid”. -
E:not(s)
an E element that does not match simple selector s -
E F
an F element descendant of an E element -
E > F
an F element child of an E element -
E + F
an F element immediately preceded by an E element -
E ~ F
an F element preceded by an E element
All attribute selectors are written like their XPath counter-parts (in that all attributes should begin with an @ symbol).
-
E[@foo]
an E element with a “foo” attribute -
E[@foo=“bar”]
an E element whose “foo” attribute value is exactly equal to “bar” -
E[@foo~=“bar”]
an E element whose “foo” attribute value is a list of space-separated values, one of which is exactly equal to “bar” -
E[@foo^=“bar”]
an E element whose “foo” attribute value begins exactly with the string “bar” -
E[@foo$=“bar”]
an E element whose “foo” attribute value ends exactly with the string “bar” -
E[@foo*=“bar”]
an E element whose “foo” attribute value contains the substring “bar” -
E[@hreflang|=“en”]
an E element whose “hreflang” attribute has a hyphen-separated list of values beginning (from the left) with “en”
Hpricot only support selectors that actually select DOM elements – everything else is ignored.
E:link
-
E:visited
an E element being the source anchor of a hyperlink of which the target is not yet visited (:link) or already visited (:visited) E:active
E:hover
-
E:focus
an E element during certain user actions -
E:target
an E element being the target of the referring URI -
E::first-line
the first formatted line of an E element -
E::first-letter
the first formatted letter of an E element -
E::selection
the portion of an E element that is currently selected/highlighted by the user -
E::before
generated content before an E element -
E::after
generated content after an E element