Packagedom.tr.traversal
Interfacepublic interface TreeWalker

Introduced in: DOM 2 Core 

Represents the nodes of a document subtree and a position within them.

A TreeWalker can be created using the createTreeWalker() method of the Document object.

See also

MDC - treeWalker
W3C - DOM Level 2 Traversal: TreeWalker
dom.core.Document.createTreeWalker()


Public Properties
 PropertyDefined By
  DOM 2 TR currentNode : Node
The node at which the TreeWalker is currently positioned.
TreeWalker
  DOM 2 TR expandEntityReferences : Boolean
[read-only] The value of this flag determines whether the children of entity reference nodes are visible to the TreeWalker.
TreeWalker
  DOM 2 TR filter : NodeFilter
[read-only] The filter used to screen nodes.
TreeWalker
  DOM 2 TR root : Node
[read-only] The root node of the TreeWalker, as specified when it was created.
TreeWalker
  DOM 2 TR whatToShow : Number
[read-only] This attribute determines which node types are presented via the TreeWalker.
TreeWalker
Public Methods
 MethodDefined By
  
DOM 2 TR firstChild():Node
Moves the TreeWalker to the first visible child of the current node, and returns the new node.
TreeWalker
  
DOM 2 TR lastChild():Node
Moves the TreeWalker to the last visible child of the current node, and returns the new node.
TreeWalker
  
DOM 2 TR nextNode():Node
Moves the TreeWalker to the next visible node in document order relative to the current node, and returns the new node.
TreeWalker
  
DOM 2 TR nextSibling():Node
Moves the TreeWalker to the next sibling of the current node, and returns the new node.
TreeWalker
  
DOM 2 TR parentNode():Node
Moves to and returns the closest visible ancestor node of the current node.
TreeWalker
  
DOM 2 TR previousNode():Node
Moves the TreeWalker to the previous visible node in document order relative to the current node, and returns the new node.
TreeWalker
  
DOM 2 TR previousSibling():Node
Moves the TreeWalker to the previous sibling of the current node, and returns the new node.
TreeWalker
Property Detail
DOM 2 TR currentNodeproperty
currentNode:Node

Product Versions : Internet Explorer 5.5 Internet Explorer 6.0 Internet Explorer 7.0 Internet Explorer 8.0 as IE7 Internet Explorer 8.0 as IE8 Firefox 2.0 Firefox 3.0 Firefox 3.5 Safari 3.0 Safari 3.1 Safari 4.0b Chrome 1.0 Chrome 2.0 Opera 9.62 Opera 10.0a
Introduced in: DOM 2 Core 

The node at which the TreeWalker is currently positioned.

Alterations to the DOM tree may cause the current node to no longer be accepted by the TreeWalker's associated filter. currentNode may also be explicitly set to any node, whether or not it is within the subtree specified by the root node or would be accepted by the filter and whatToShow flags. Further traversal occurs relative to currentNode even if it is not part of the current view, by applying the filters in the requested direction; if no traversal is possible, currentNode is not changed.


Implementation
    public function get currentNode():Node
    public function set currentNode(value:Node):void

Throws
DOMException — NOT_SUPPORTED_ERR: Raised if an attempt is made to set currentNode to null.

See also

DOM 2 TR expandEntityReferencesproperty 
expandEntityReferences:Boolean  [read-only]

Product Versions : Internet Explorer 5.5 Internet Explorer 6.0 Internet Explorer 7.0 Internet Explorer 8.0 as IE7 Internet Explorer 8.0 as IE8 Firefox 2.0 Firefox 3.0 Firefox 3.5 Safari 3.0 Safari 3.1 Safari 4.0b Chrome 1.0 Chrome 2.0 Opera 9.62 Opera 10.0a
Introduced in: DOM 2 Core 

The value of this flag determines whether the children of entity reference nodes are visible to the TreeWalker. If false, they and their descendants will be rejected. Note that this rejection takes precedence over whatToShow and the filter, if any.

To produce a view of the document that has entity references expanded and does not expose the entity reference node itself, use the whatToShow flags to hide the entity reference node and set expandEntityReferences to true when creating the TreeWalker. To produce a view of the document that has entity reference nodes but no entity expansion, use the whatToShow flags to show the entity reference node and set expandEntityReferences to false.


Implementation
    public function get expandEntityReferences():Boolean

See also

DOM 2 TR filterproperty 
filter:NodeFilter  [read-only]

Product Versions : Internet Explorer 5.5 Internet Explorer 6.0 Internet Explorer 7.0 Internet Explorer 8.0 as IE7 Internet Explorer 8.0 as IE8 Firefox 2.0 Firefox 3.0 Firefox 3.5 Safari 3.0 Safari 3.1 Safari 4.0b Chrome 1.0 Chrome 2.0 Opera 9.62 Opera 10.0a
Introduced in: DOM 2 Core 

The filter used to screen nodes.

Note: When creating the TreeWalker, the filter object is passed in as the third parameter, and the object method acceptNode(node) is called on every single node to determine whether or not to accept it. This function should return the constant NodeFilter.FILTER_ACCEPT for cases when the node should be accepted and NodeFilter.FILTER_REJECT for cases when the node should be rejected.


Implementation
    public function get filter():NodeFilter

See also


Example
         var treeWalker = document.createTreeWalker(
             document.body,
             NodeFilter.SHOW_ELEMENT,
             { acceptNode: function(node) { return NodeFilter.FILTER_ACCEPT; } },
             false
             );
         nodeFilter = treeWalker.filter; // document.body in this case
DOM 2 TR rootproperty 
root:Node  [read-only]

Product Versions : Internet Explorer 5.5 Internet Explorer 6.0 Internet Explorer 7.0 Internet Explorer 8.0 as IE7 Internet Explorer 8.0 as IE8 Firefox 2.0 Firefox 3.0 Firefox 3.5 Safari 3.0 Safari 3.1 Safari 4.0b Chrome 1.0 Chrome 2.0 Opera 9.62 Opera 10.0a
Introduced in: DOM 2 Core 

The root node of the TreeWalker, as specified when it was created.


Implementation
    public function get root():Node

See also


Example
         var treeWalker = document.createTreeWalker(
             document.body,
             NodeFilter.SHOW_ELEMENT,
             { acceptNode: function(node) { return NodeFilter.FILTER_ACCEPT; } },
             false
             );
         root = treeWalker.root; // document.body in this case
DOM 2 TR whatToShowproperty 
whatToShow:Number  [read-only]

Product Versions : Internet Explorer 5.5 Internet Explorer 6.0 Internet Explorer 7.0 Internet Explorer 8.0 as IE7 Internet Explorer 8.0 as IE8 Firefox 2.0 Firefox 3.0 Firefox 3.5 Safari 3.0 Safari 3.1 Safari 4.0b Chrome 1.0 Chrome 2.0 Opera 9.62 Opera 10.0a
Introduced in: DOM 2 Core 

This attribute determines which node types are presented via the TreeWalker. The available set of constants is defined in the NodeFilter interface. Nodes not accepted by whatToShow will be skipped, but their children may still be considered. Note that this skip takes precedence over the filter, if any.


Implementation
    public function get whatToShow():Number

See also


Example
         var treeWalker = document.createTreeWalker(
             document.body,
             NodeFilter.SHOW_ELEMENT + NodeFilter.SHOW_COMMENT + NodeFilter.SHOW_TEXT,
             { acceptNode: function(node) { return NodeFilter.FILTER_ACCEPT; } },
             false
             );
         if((treeWalker.whatToShow == NodeFilter.SHOW_ALL) || 
             (treeWalker.whatToShow % (NodeFilter.SHOW_COMMENT)) >= NodeFilter.SHOW_COMMENT) {
             // treeWalker will show comments
         }
Method Detail
DOM 2 TR firstChild()method
public function firstChild():Node

Product Versions : Internet Explorer 5.5 Internet Explorer 6.0 Internet Explorer 7.0 Internet Explorer 8.0 as IE7 Internet Explorer 8.0 as IE8 Firefox 2.0 Firefox 3.0 Firefox 3.5 Safari 3.0 Safari 3.1 Safari 4.0b Chrome 1.0 Chrome 2.0 Opera 9.62 Opera 10.0a
Introduced in: DOM 2 Core 

Moves the TreeWalker to the first visible child of the current node, and returns the new node. If the current node has no visible children, returns null, and retains the current node.

Returns
Node — The new node, or null if the current node has no visible children in the TreeWalker's logical view.

See also

DOM 2 TR lastChild()method 
public function lastChild():Node

Product Versions : Internet Explorer 5.5 Internet Explorer 6.0 Internet Explorer 7.0 Internet Explorer 8.0 as IE7 Internet Explorer 8.0 as IE8 Firefox 2.0 Firefox 3.0 Firefox 3.5 Safari 3.0 Safari 3.1 Safari 4.0b Chrome 1.0 Chrome 2.0 Opera 9.62 Opera 10.0a
Introduced in: DOM 2 Core 

Moves the TreeWalker to the last visible child of the current node, and returns the new node. If the current node has no visible children, returns null, and retains the current node.

Returns
Node — The new node, or null if the current node has no children in the TreeWalker's logical view.

See also

DOM 2 TR nextNode()method 
public function nextNode():Node

Product Versions : Internet Explorer 5.5 Internet Explorer 6.0 Internet Explorer 7.0 Internet Explorer 8.0 as IE7 Internet Explorer 8.0 as IE8 Firefox 2.0 Firefox 3.0 Firefox 3.5 Safari 3.0 Safari 3.1 Safari 4.0b Chrome 1.0 Chrome 2.0 Opera 9.62 Opera 10.0a
Introduced in: DOM 2 Core 

Moves the TreeWalker to the next visible node in document order relative to the current node, and returns the new node. If the current node has no next node, or if the search for nextNode attempts to step upward from the TreeWalker's root node, returns null, and retains the current node.

Returns
Node — The new node, or null if the current node has no next node in the TreeWalker's logical view.

See also

DOM 2 TR nextSibling()method 
public function nextSibling():Node

Product Versions : Internet Explorer 5.5 Internet Explorer 6.0 Internet Explorer 7.0 Internet Explorer 8.0 as IE7 Internet Explorer 8.0 as IE8 Firefox 2.0 Firefox 3.0 Firefox 3.5 Safari 3.0 Safari 3.1 Safari 4.0b Chrome 1.0 Chrome 2.0 Opera 9.62 Opera 10.0a
Introduced in: DOM 2 Core 

Moves the TreeWalker to the next sibling of the current node, and returns the new node. If the current node has no visible next sibling, returns null, and retains the current node.

Returns
Node — The new node, or null if the current node has no next sibling. in the TreeWalker's logical view.

See also

DOM 2 TR parentNode()method 
public function parentNode():Node

Product Versions : Internet Explorer 5.5 Internet Explorer 6.0 Internet Explorer 7.0 Internet Explorer 8.0 as IE7 Internet Explorer 8.0 as IE8 Firefox 2.0 Firefox 3.0 Firefox 3.5 Safari 3.0 Safari 3.1 Safari 4.0b Chrome 1.0 Chrome 2.0 Opera 9.62 Opera 10.0a
Introduced in: DOM 2 Core 

Moves to and returns the closest visible ancestor node of the current node. If the search for parentNode attempts to step upward from the TreeWalker's root node, or if it fails to find a visible ancestor node, this method retains the current position and returns null.

Returns
Node — The new parent node, or null if the current node has no parent in the TreeWalker's logical view.

See also

DOM 2 TR previousNode()method 
public function previousNode():Node

Product Versions : Internet Explorer 5.5 Internet Explorer 6.0 Internet Explorer 7.0 Internet Explorer 8.0 as IE7 Internet Explorer 8.0 as IE8 Firefox 2.0 Firefox 3.0 Firefox 3.5 Safari 3.0 Safari 3.1 Safari 4.0b Chrome 1.0 Chrome 2.0 Opera 9.62 Opera 10.0a
Introduced in: DOM 2 Core 

Moves the TreeWalker to the previous visible node in document order relative to the current node, and returns the new node. If the current node has no previous node, or if the search for previousNode attempts to step upward from the TreeWalker's root node, returns null, and retains the current node.

Returns
Node — The new node, or null if the current node has no previous node in the TreeWalker's logical view.

See also

DOM 2 TR previousSibling()method 
public function previousSibling():Node

Product Versions : Internet Explorer 5.5 Internet Explorer 6.0 Internet Explorer 7.0 Internet Explorer 8.0 as IE7 Internet Explorer 8.0 as IE8 Firefox 2.0 Firefox 3.0 Firefox 3.5 Safari 3.0 Safari 3.1 Safari 4.0b Chrome 1.0 Chrome 2.0 Opera 9.62 Opera 10.0a
Introduced in: DOM 2 Core 

Moves the TreeWalker to the previous sibling of the current node, and returns the new node. If the current node has no visible previous sibling, returns null, and retains the current node.

Returns
Node — The new node, or null if the current node has no previous sibling. in the TreeWalker's logical view.

See also