NodeIterator.filter

  • Revision slug: Web/API/NodeIterator.filter
  • Revision title: NodeIterator.filter
  • Revision id: 471387
  • Created:
  • Creator: Khodaidad_Basharmand
  • Is current revision? Yes
  • Comment

Revision Content

{{ DomRef("NodeIterator") }}

The NodeIterator.filter read-only method returns a {{domxref("NodeFilter")}} object, that is an object implement an acceptNode(node) method, used to screen nodes.

When creating the {{domxref("NodeIterator")}}, 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.

Syntax

nodeFilter = nodeIterator.filter;

Example

var nodeIterator = document.createNodeIterator(
    document.body,
    NodeFilter.SHOW_ELEMENT,
    { acceptNode: function(node) { return NodeFilter.FILTER_ACCEPT; } },
    false
);
nodeFilter = nodeIterator.filter;

Specifications

Specification Status Comment
{{SpecName('DOM WHATWG', '#dom-nodeiterator-filter', 'NodeIterator.filter')}} {{Spec2('DOM WHATWG')}} No change from {{SpecName('DOM2 Traversal_Range')}}.
{{SpecName('DOM2 Traversal_Range', 'traversal.html#Traversal-NodeIterator-filter', 'NodeIterator.filter')}} {{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 this property belongs to: {{domxref("NodeIterator")}}.

Revision Source

<p>{{ DomRef("NodeIterator") }}</p>
<p>The <strong><code>NodeIterator.filter</code></strong> read-only method returns a {{domxref("NodeFilter")}} object, that is an object implement an <code>acceptNode(<em>node</em>)</code> method, used to screen nodes.</p>
<p>When creating the {{domxref("NodeIterator")}}, the filter object is passed in as the third parameter, and the object method <code>acceptNode(<em>node</em>)</code> is called on every single node to determine whether or not to accept it. This function should return the constant <code>NodeFilter.FILTER_ACCEPT</code> for cases when the node should be accepted and <code>NodeFilter.FILTER_REJECT</code> for cases when the node should be rejected.</p>
<h2 id="Syntax" name="Syntax">Syntax</h2>
<pre class="syntaxbox">
<em>nodeFilter</em> = <em>nodeIterator</em>.filter;
</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
);
nodeFilter = nodeIterator.filter;</pre>
<h2 id="Specifications">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-filter', 'NodeIterator.filter')}}</td>
      <td>{{Spec2('DOM WHATWG')}}</td>
      <td>No change from {{SpecName('DOM2 Traversal_Range')}}.</td>
    </tr>
    <tr>
      <td>{{SpecName('DOM2 Traversal_Range', 'traversal.html#Traversal-NodeIterator-filter', 'NodeIterator.filter')}}</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 this property belongs to: {{domxref("NodeIterator")}}.</li>
</ul>
Revert to this revision