Trait/Object

eu.cdevreeze.yaidom.jsdom

JsDomNode

Related Docs: object JsDomNode | package jsdom

Permalink

sealed trait JsDomNode extends Node

Wrappers around org.scalajs.dom.raw.Node and subclasses, such that the wrapper around org.scalajs.dom.raw.Element conforms to the eu.cdevreeze.yaidom.queryapi.ElemLike API.

Not all DOM node types are exposed via these wrappers. For example, attributes are not nodes according to the ElemLike API, so there is no wrapper for attributes.

Use these wrappers only if there is a specific need for them. They are not immutable, and they are not thread-safe. On the other hand, in the browser this is not an issue.

The wrappers are very light-weight, and typically very short-lived. On the other hand, each query may create many wrapper instances for the query results. By design, the only state of each wrapper instance is the wrapped DOM node, so changes to the state of that wrapped DOM node cannot corrupt the wrapper instance.

This does have a down-side, namely that Path (relative to the root element) and base URI computations are expensive. Therefore these JS DOM wrappers are not the best performing BackingElemApi element implementations if fast Path and base URI computations are required. Yaidom native indexed elements may be better in those cases, and JS DOM wrappers could be used as "builders" of those indexed elements.

Linear Supertypes
Node, Node, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JsDomNode
  2. Node
  3. Node
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract type DomType <: Node

    Permalink

Abstract Value Members

  1. abstract def wrappedNode: DomType

    Permalink

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. final def equals(obj: Any): Boolean

    Permalink
    Definition Classes
    JsDomNode → AnyRef → Any
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  10. final def hashCode(): Int

    Permalink
    Definition Classes
    JsDomNode → AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  16. final def toString(): String

    Permalink
    Definition Classes
    JsDomNode → AnyRef → Any
  17. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Node

Inherited from Node

Inherited from AnyRef

Inherited from Any

Ungrouped