[7] NodeIterator
オブジェクトは、
DOM木上の節点を木順または逆木順に探索するイテレーターです。
[16] NodeIterator
は文書環境に(のみ)晒されます。
[20] NodeIterator
は createNodeIterator
メソッドにより作成することができます。コンストラクターから作成することはできません。
[13] NodeIterator
オブジェクトは次の状態を持ちます。
[8] NodeIterator
の動作は、
仕様書上イテレーターコレクション
>>6 によって説明されています。必ずしもこの通りに実装しなければならないわけではありませんが、
スクリプトから区別できない同等な動作を実装しなければなりません。
[9] イテレーターコレクションは、 NodeIterator
の根を根とし、すべての節点と一致するフィルターを持つコレクションです
>>6。このコレクションは live です。コレクション内の節点は木順で整列しています。
[10] previousNode
, nextNode
両メソッドは、イテレーターコレクション上で参照節点の前後にある節点へと参照節点を移動し、
新しい参照節点を返すメソッドと説明されています。
[11] 参照節点が削除されて根の部分木からなくなった場合には、
イテレーターコレクション上の前後 (pointerBeforeReferenceNode
が真なら前、偽なら後) の節点へと参照節点が移動します。
[5] Index of /tests/adhoc/dom/traversal/node-iterator ( ( 版)) <http://hixie.ch/tests/adhoc/dom/traversal/node-iterator/>
[4] Bug 3492 – TreeWalker implementation needs to be fixed (affects Acid3) ( ( 版)) <https://bugs.webkit.org/show_bug.cgi?id=3492>
[2] Introduction to DOM Traversal - DOM ECMAScripting ( ( 版)) <http://domes.lingua.heliohost.org/dom/intro-traversal1.html>
[3] NodeIterator って誰が使ってるんだろう???? ぐぐってもでてくるのは javadoc ばかりだし・・・。
[22] Fix NodeIterator removing step · whatwg/dom@c97daed ( 版) <https://github.com/whatwg/dom/commit/c97daedbe0da3b4e59d103226af74bb5a4231460>
[23] Fix NodeIterator removing step. Closes #27 · whatwg/dom@248d4fe ( 版) <https://github.com/whatwg/dom/commit/248d4fe2732ef4e37b186127948c0c50b2c9259b>
[24] Editorial: flip non-null/otherwise conditions · whatwg/dom@8d281a3 ( 版) <https://github.com/whatwg/dom/commit/8d281a354690abfda5ff558c461747f304f11788>
[25] ある部分木の節点を順番に訪問して、テキストを拾いつつ特定の要素の前後に区切り文字を入れたものを得たい、 みたいなありがちなシチュエーションで、 使えそうで使えないんですよねぇ... (親 → 子の順またはその逆順のどちらかなので、 子孫の後に区切りを挟む、というのができない。)
[26] Reinstate active flag for iterators (ayg著, ) <https://github.com/whatwg/dom/commit/6a796cc7676263c30550abfd7cc248300d006b2d>
[27] Also unset the active flag when an exception is thrown (annevk著, ) <https://github.com/whatwg/dom/commit/48c4b4aa0d1b4044b7be62d3a75aaab94058161f>
[28] Editorial: fix several issues with traversal (annevk著, ) <https://github.com/whatwg/dom/commit/a6d17ae5e762d5261a9ca2e6e742cb792fa06e09>
[29] Editorial: fix several issues with traversal by annevk · Pull Request #594 · whatwg/dom () <https://github.com/whatwg/dom/pull/594>
[30] NodeIterator's pre-removing steps need to account for node being root (annevk著, ) <https://github.com/whatwg/dom/commit/c80e0176d9565d2832ae3d535414faff7f6e7dda>
[31] NodeIterator pre-removing steps seem incorrect · Issue #496 · whatwg/dom () <https://github.com/whatwg/dom/issues/496>
[32] NodeIterator's pre-removing steps need to account for node being root by annevk · Pull Request #615 · whatwg/dom () <https://github.com/whatwg/dom/pull/615>