NodeIterator.nextNode

  • Revision slug: Web/API/NodeIterator.nextNode
  • Revision title: NodeIterator.nextNode
  • Revision id: 451779
  • Created:
  • Creator: teoli
  • Is current revision? No
  • Comment

Revision Content

{{ DomRef("NodeIterator") }}

The NodeIterator.nextNode() method returns the next node in the set represented by the {{domxref("NodeIterator")}} and advances the position of the iterator within the set.  The first call to nextNode() returns the first node in the set.

This method returns null when there are no nodes left in the set.

In old browsers, as specified in old versions of the specifications, the method may throws the INVALID_STATE_ERR {{domxref("DOMException")}} if this method is called after the {{domxref("NodeIterator.detach()")}}method. Recent browsers never throw.

Syntax

node = nodeIterator.nextNode();

Example

var nodeIterator = document.createNodeIterator(
    document.body,
    NodeFilter.SHOW_ELEMENT,
    { acceptNode: function(node) { return NodeFilter.FILTER_ACCEPT; } },
    false
);
currentNode = nodeIterator.nextNode(); // returns the next node

Specifications

Specification Status Comment
{{SpecName('DOM WHATWG', '#dom-nodeiterator-nextnode', 'NodeIterator.nextNode')}} {{Spec2('DOM WHATWG')}} As detach() is now a no-op method, this method cannot throw anymore.
{{SpecName('DOM2 Traversal_Range', 'traversal.html#Traversal-NodeIterator-nextNode', 'NodeIterator.nextNode')}} {{Spec2('DOM2 Traversal_Range')}} Initial definition.

Browser compatibility

{{CompatibilityTable}}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 1.0 {{CompatGeckoDesktop("1.9.1")}} 9.0 9.0 3.0
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support {{CompatVersionUnknown}} {{CompatGeckoMobile("1.9.1")}} {{CompatVersionUnknown}} 9.0 3.0

See also

  • The interface it belongs to: {{domxref("NodeIterator")}}.

Revision Source

<p>{{ DomRef("NodeIterator") }}</p>
<p>The <code><strong>NodeIterator.nextNode()</strong></code> method returns the next node in the set represented by the {{domxref("NodeIterator")}} and advances the position of the iterator within the set.&nbsp; The first call to <code>nextNode()</code>&nbsp;returns the first node in the set.</p>
<p>This method returns <code>null</code> when there are no nodes left in the set.</p>
<p>In old browsers, as specified in old versions of the specifications, the method may throws the <code>INVALID_STATE_ERR</code> {{domxref("DOMException")}} if this method is called after the {{domxref("NodeIterator.detach()")}}method. Recent browsers never throw.</p>
<h2 id="Syntax" name="Syntax">Syntax</h2>
<pre class="syntaxbox">
<em>node</em> = <em>nodeIterator</em>.nextNode();
</pre>
<h2 id="Example" name="Example">Example</h2>
<pre class="brush: js">
var nodeIterator = document.createNodeIterator(
    document.body,
    NodeFilter.SHOW_ELEMENT,
    { acceptNode: function(node) { return NodeFilter.FILTER_ACCEPT; } },
    false
);
currentNode = nodeIterator.nextNode(); // returns the next node
</pre>
<h2 id="Specification" name="Specification">Specifications</h2>
<table class="standard-table">
  <tbody>
    <tr>
      <th scope="col">Specification</th>
      <th scope="col">Status</th>
      <th scope="col">Comment</th>
    </tr>
    <tr>
      <td>{{SpecName('DOM WHATWG', '#dom-nodeiterator-nextnode', 'NodeIterator.nextNode')}}</td>
      <td>{{Spec2('DOM WHATWG')}}</td>
      <td>As <code>detach()</code> is now a no-op method, this method cannot throw anymore.</td>
    </tr>
    <tr>
      <td>{{SpecName('DOM2 Traversal_Range', 'traversal.html#Traversal-NodeIterator-nextNode', 'NodeIterator.nextNode')}}</td>
      <td>{{Spec2('DOM2 Traversal_Range')}}</td>
      <td>Initial definition.</td>
    </tr>
  </tbody>
</table>
<h2 id="Browser_compatibility">Browser compatibility</h2>
<p>{{CompatibilityTable}}</p>
<div id="compat-desktop">
  <table class="compat-table">
    <tbody>
      <tr>
        <th>Feature</th>
        <th>Chrome</th>
        <th>Firefox (Gecko)</th>
        <th>Internet Explorer</th>
        <th>Opera</th>
        <th>Safari</th>
      </tr>
      <tr>
        <td>Basic support</td>
        <td>1.0</td>
        <td>{{CompatGeckoDesktop("1.9.1")}}</td>
        <td>9.0</td>
        <td>9.0</td>
        <td>3.0</td>
      </tr>
    </tbody>
  </table>
</div>
<div id="compat-mobile">
  <table class="compat-table">
    <tbody>
      <tr>
        <th>Feature</th>
        <th>Android</th>
        <th>Firefox Mobile (Gecko)</th>
        <th>IE Mobile</th>
        <th>Opera Mobile</th>
        <th>Safari Mobile</th>
      </tr>
      <tr>
        <td>Basic support</td>
        <td>{{CompatVersionUnknown}}</td>
        <td>{{CompatGeckoMobile("1.9.1")}}</td>
        <td>{{CompatVersionUnknown}}</td>
        <td>9.0</td>
        <td>3.0</td>
      </tr>
    </tbody>
  </table>
</div>
<h2 id="See_also">See also</h2>
<ul>
  <li>The interface it belongs to: {{domxref("NodeIterator")}}.</li>
</ul>
Revert to this revision