Trait selectors::Element [] [src]

pub trait Element: Sized + Clone + Debug {
    type Impl: SelectorImpl;
    fn opaque(&self) -> OpaqueElement;
fn parent_element(&self) -> Option<Self>;
fn first_child_element(&self) -> Option<Self>;
fn last_child_element(&self) -> Option<Self>;
fn prev_sibling_element(&self) -> Option<Self>;
fn next_sibling_element(&self) -> Option<Self>;
fn is_html_element_in_html_document(&self) -> bool;
fn get_local_name(&self) -> &<Self::Impl as SelectorImpl>::BorrowedLocalName;
fn get_namespace(
        &self
    ) -> &<Self::Impl as SelectorImpl>::BorrowedNamespaceUrl;
fn attr_matches(
        &self,
        ns: &NamespaceConstraint<&<Self::Impl as SelectorImpl>::NamespaceUrl>,
        local_name: &<Self::Impl as SelectorImpl>::LocalName,
        operation: &AttrSelectorOperation<&<Self::Impl as SelectorImpl>::AttrValue>
    ) -> bool;
fn match_non_ts_pseudo_class<F>(
        &self,
        pc: &<Self::Impl as SelectorImpl>::NonTSPseudoClass,
        context: &mut MatchingContext<Self::Impl>,
        visited_handling: VisitedHandlingMode,
        flags_setter: &mut F
    ) -> bool
    where
        F: FnMut(&Self, ElementSelectorFlags)
;
fn match_pseudo_element(
        &self,
        pe: &<Self::Impl as SelectorImpl>::PseudoElement,
        context: &mut MatchingContext<Self::Impl>
    ) -> bool;
fn is_link(&self) -> bool;
fn has_id(
        &self,
        id: &<Self::Impl as SelectorImpl>::Identifier,
        case_sensitivity: CaseSensitivity
    ) -> bool;
fn has_class(
        &self,
        name: &<Self::Impl as SelectorImpl>::ClassName,
        case_sensitivity: CaseSensitivity
    ) -> bool;
fn is_empty(&self) -> bool;
fn is_root(&self) -> bool; fn pseudo_element_originating_element(&self) -> Option<Self> { ... }
fn assigned_slot(&self) -> Option<Self> { ... }
fn ignores_nth_child_selectors(&self) -> bool { ... }
fn blocks_ancestor_combinators(&self) -> bool { ... } }

Associated Types

Required Methods

Converts self into an opaque representation.

Skips non-element nodes

Skips non-element nodes

Skips non-element nodes

Skips non-element nodes

Empty string for no namespace

Whether this element is a link.

Returns whether this element matches :empty.

That is, whether it does not contain any child element or any non-zero-length text node. See http://dev.w3.org/csswg/selectors-3/#empty-pseudo

Returns whether this element matches :root, i.e. whether it is the root element of a document.

Note: this can be false even if .parent_element() is None if the parent node is a DocumentFragment.

Provided Methods

The parent of a given pseudo-element, after matching a pseudo-element selector.

This is guaranteed to be called in a pseudo-element.

Returns the assigned element this element is assigned to.

Necessary for the ::slotted pseudo-class.

Returns whether this element should ignore matching nth child selector.

Return true if we want to stop lookup ancestor of the current element while matching complex selectors with descendant/child combinator.

Implementors