This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The TreeWalker.filter read-only property returns the NodeFilter associated with the TreeWalker.
When creating the TreeWalker, the filter object is passed in as the third parameter, and its method acceptNode() is called on every single node to determine whether or not to accept it.
A NodeFilter object.
const treeWalker = document.createTreeWalker(
document.body,
NodeFilter.SHOW_ELEMENT,
{
acceptNode(node) {
return NodeFilter.FILTER_ACCEPT;
},
},
);
nodeFilter = treeWalker.filter; // document.body in this case
| Specification |
|---|
| DOM> # dom-treewalker-filter> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
filter |
1 | 12 | 4 | 9 | 3 | 18 | 4 | 10.1 | 3 | 1.0 | 3 | 3 |
TreeWalker interface it belongs to.
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker/filter