Skip to content

Classes that make up DOM

Greg Bowler edited this page Jun 24, 2017 · 15 revisions

Here is a list of all classes that make up DOM in alphabetical order with some basic usage examples:

  • Attr Represents an attribute on an Element object.
  • CharacterData Represents a Node object that contains characters.
  • ChildNode (Trait) Contains methods that are particular to Node objects that can have a parent.
  • Comment Represents textual notations within markup.
  • Document Represents any web page loaded in the browser and serves as an entry point into the web page's content.
  • DocumentFragment Represents a minimal document object that has no parent.
  • DocumentType Represents a Node containing a doctype.
  • Element The most general base class from which all objects in a Document inherit.
  • HTMLCollection Represents a Node list that can only contain Element nodes.
  • HTMLDocument Provides access to special properties and methods not present by default on a regular (XML) document.
  • LiveProperty (Trait) Internal trait used to allow getting and setting of properties representing live data structures.
  • Node A Node is an interface from which a number of DOM types inherit.
  • NonDocumentTypeChildNode (Trait) Contains methods that are particular to Node objects that can have a parent but not suitable for DocumentType.
  • ParentNode (Trait) Contains methods that are particular to Node objects that can have children.
  • Text Represents the textual content of Element or Attr.
  • TokenList Represents a set of space-separated tokens.
  • XMLDocument Provides access to special properties and methods not present by default on a regular document.

Attr

Jump to the Attr source code

Read Attr specification

This type represents a DOM element's attribute as an object. In most DOM methods, you will probably directly get or set an element's attribute as a string (e.g., Element.getAttribute().

Properties

  • name (string) (Readonly) The attributes name.
  • prefix (?string) (Readonly) The namespace prefix of the attribute, or null if no prefix is specified.
  • ownerElement (Element) (Readonly) The element that the Attr is attached to.
  • value (string) The attribute's value.

Example Attr usage

Moving an attribute between elements

$html = <<<HTML
<!doctype html>
<ul id="shop-items">
	<li id="arduino">Arduino</li>
	<li id="raspberry-pi" class="special-offer special-offer-two-for-one">Raspberry Pi</li>
	<li id="class">PIC</li>
</ul>
HTML;

// Create document and references to elements.
$document = new HTMLDocument($html);
$arduinoElement = $document->getElementById("arduino");
$raspberryPiElement = $document->getElementById("raspberry-pi");

// Reference the attribute, remove it from its current parent, reattach it to new parent.
$attribute = $raspberryPiElement->getAttributeNode("class");
$raspberryPiElement->removeAttributeNode($attribute);
$arduinoElement->setAttributeNode($attribute);

CharacterData

Jump to the CharacterData source code

Read CharacterData specification

// TODO.

ChildNode

// TODO.

Comment

// TODO.

Document

// TODO.

DocumentFragment

// TODO.

DocumentType

// TODO.

Element

// TODO.

HTMLCollection

// TODO.

HTMLDocument

// TODO.

LiveProperty

// TODO.

Node

// TODO.

NonDocumentTypeChildNode

// TODO.

ParentNode

// TODO.

Text

// TODO.

TokenList

// TODO.

XMLDocument

// TODO.