[4] NodeIterator
のメソッドである
previousNode
, nextNode
は、それぞれ前または後に探索を行います。
NodeIterator
における探索[5] previousNode
は前方向、 nextNode
は後方向に探索を行い、その結果を返さなければなりません >>3。
両メソッドの型は、 Node?
です >>3。
[6] 探索は、
イテレーターコレクションにおいて現在の参照節点の前または後において、
濾過 (whatToShow と濾過器を適用) した結果 FILTER_ACCEPT
が得られる直近の節点を返します。そのような節点がなければ、 null を返します。
>>3
[7] 節点を返す場合には、その節点が新たな参照節点として設定され、
nextNode
なら偽、
previousNode
なら真が
pointerBeforeReferenceNode
に設定されます。
null を返す場合や例外が投げられた場合には、いずれも変更されません。 >>3
[1]
DOM水準2の仕様書からは TreeWalker
の previousNode
が例えば
currentNode
が
root
なら
null
になるのか不明瞭です
(おそらくそうなのでしょうが)。
[2] DOM水準2の仕様書からは TreeWalker
の nextNode
がみつからないなら
null
になるのか不明瞭です
(おそらくそうなのでしょうが)。
[9] Fix TreeWalker's nextNode() (annevk著, ) <https://github.com/whatwg/dom/commit/826d66b551935a7b2af09a4afc2b839500bb6c0e>
[10] 28107 – TreeWalker nextNode never ascends the tree () <https://www.w3.org/Bugs/Public/show_bug.cgi?id=28107>
[11] Fix TreeWalker's nextNode() by annevk · Pull Request #612 · whatwg/dom () <https://github.com/whatwg/dom/pull/612>
previousNode
やnextNode
も例外を投げます。