| <html> | |
| <head> | |
| <script src=traversal.js language="JavaScript" type="text/JavaScript" ></script> | |
| <title>Traversal Test</title> | |
| </head> | |
| <body> | |
| <div id="test"> | |
| <span id="A"></span><span id="B"></span><span id="C"></span><span id="D"></span><span id="E"></span><span id="F"></span><span id="G"></span><span id="H"></span><span id="I"></span> | |
| </div> | |
| <div style="font-family: Courier; font-size: 14;"> | |
| <script> | |
| if (window.testRunner) | |
| testRunner.dumpAsText(); | |
| var root = document.getElementById('test'); | |
| function testNodeFiter(n) | |
| { | |
| if (n.tagName == 'SPAN') return NodeFilter.FILTER_ACCEPT; | |
| return NodeFilter.FILTER_SKIP; | |
| } | |
| var it = document.createNodeIterator(root, NodeFilter.SHOW_ELEMENT, testNodeFiter, false); | |
| for (i = 0; i < 4; i++) | |
| it.nextNode(); | |
| document.write(dumpNodeIterator(it, "ref node 'D'; pointer after")); | |
| // remove node 'E' | |
| document.write("<p>remove node 'E'"); | |
| root.removeChild(document.getElementById('E')); | |
| document.write(dumpNodeIterator(it, "ref node 'D'; pointer after")); | |
| // insert new node 'X' before 'F' | |
| document.write("<p>insert new node 'X' before 'F'"); | |
| var X = document.createElement('SPAN'); | |
| X.setAttribute('ID', 'X'); | |
| root.insertBefore(X, document.getElementById('F')); | |
| document.write(dumpNodeIterator(it, "ref node 'D'; pointer after")); | |
| // move node 'I' before 'X' | |
| document.write("<p>move node 'I' before 'X'"); | |
| var I = document.getElementById('I'); | |
| root.removeChild(I); | |
| root.insertBefore(I, X); | |
| document.write(dumpNodeIterator(it, "ref node 'D'; pointer after")); | |
| </script> | |
| </div> | |
| </body> | |
| </html> |