git-svn-id: https://svn.webkit.org/repository/webkit/trunk@12845 268f45cc-cd09-0410...
[WebKit-https.git] / LayoutTests / traversal / node-iterator-002.html
1 <html> 
2 <head>
3 <script src=traversal.js language="JavaScript" type="text/JavaScript" ></script>
4 <title>Traversal Test</title> 
5 </head> 
6 <body>
7 <div id="test">
8 <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>
9 </div>
10 <div style="font-family: Courier; font-size: 14;">
11 <script>
12 var parent = document.getElementById('test');
13 var root = document.getElementById('A');
14
15 function testNodeFiter(n)
16 {
17     if (n.tagName == 'SPAN') return NodeFilter.FILTER_ACCEPT;
18     return NodeFilter.FILTER_SKIP;
19 }
20
21 var it = document.createNodeIterator(root, NodeFilter.SHOW_ELEMENT, testNodeFiter, false);
22 for (i = 0; i < 4; i++)
23     it.nextNode();
24 document.write(dumpNodeIterator(it, "ref node 'D'; pointer after"));
25
26 // remove node 'E'
27 document.write("<p>remove node 'E'");
28 parent.removeChild(document.getElementById('E'));
29 document.write(dumpNodeIterator(it, "ref node 'D'; pointer after"));
30
31 // insert new node 'X' before 'F'
32 document.write("<p>insert new node 'X' before 'F'");
33 var X = document.createElement('SPAN');
34 X.setAttribute('ID', 'X');
35 parent.insertBefore(X, document.getElementById('F'));
36 document.write(dumpNodeIterator(it, "ref node 'D'; pointer after"));
37
38 // move node 'I' before 'X'
39 document.write("<p>move node 'I' before 'X'");
40 var I = document.getElementById('I');
41 parent.removeChild(I);
42 parent.insertBefore(I, X);
43 document.write(dumpNodeIterator(it, "ref node 'D'; pointer after"));
44 </script>
45 </div>
46 </body>
47 </html>