50 lines
1.5 KiB
HTML
50 lines
1.5 KiB
HTML
<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>
|