This library offers conversion between a DOM
Range instance and a fragment
selector as defined by the Web Annotation Data Model.
For more information on
For more information on the fragment selector see the specification.
There are a few different ways to include the library.
With a CommonJS bundler, to
npm install dom-anchor-fragment
With a script tag, include one of the scripts from the
With AMD loaders, these scripts should also work.
The module exposes a single constructor function,
new FragmentAnchor(root, id)
root argument is required and sets the context for the selector. A
fragment is valid if it refers to a node contained by the root.
id argument is required and sets the fragment identifier selected by this
It is not necessary for any node to exist in the DOM with a matching
property. Only when this anchor is converted to a
Range or a selector will
the instance check the validity of the identifier.
Provided with an existing
Range instance this will return a
instance that stores the
id attribute of the common ancestor container. If
the common ancestor container has no
id attribute then the anchor will take
id of its first ancestor that does have a non-empty
If no element can be found in the ancestry of the
Range that has a non-empty
id attribute and is contained by the root then this function will raise an
Provided with root
Element and an
Object containing a
value key that has
String value this will return a
FragmentAnchor that refers to an
Element with an
id matching the value contained by the root.
This method returns a
Range object that selects the contents of the element
identified by the anchor.
This method returns an
Object that has keys
"FragmentSelector" and the value is the
id referred to be the anchor.