不要将上述方法与标准DOM元素 属性 / 方法 混淆 ; 这些只能在TreeWalker对象中工作,以便您导航已过滤的节点。
使用与上面相同的示例,让我们看看如何使用遍历方法遍历返回的节点:
|
1
2
3
4
五
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
><div id =“contentarea”></font></font><font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
<p>一些<span>文字</ span> </ p></font></font><font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
<b>粗体文字</ b></font></font><font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
</ DIV></font></font><font></font>
<font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
<script type =“text / javascript”></font></font><font></font>
<font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
var
rootnode = document.getElementById(“contentarea”)</font></font><font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
var
walker = document.createTreeWalker(rootnode,NodeFilter.SHOW_ELEMENT,
null
,
false
)</font></font><font></font>
<font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
//警告Tree Walker当前指向的起始节点(根节点)</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
alert(walker.currentNode.tagName)
//提醒DIV(id = contentarea)</font></font><font></font>
<font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
//单步执行并提醒所有子节点</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
while
(walker.nextNode())</font></font><font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
alert(walker.currentNode.tagName)
//提醒P,SPAN和B.</font></font><font></font>
<font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
//返回集合的第一个子节点并发出警报</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
walker.currentNode = rootnode
// reset TreeWalker指向指向根节点的指针</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
alert(walker.firstChild()。tagName)
//提醒P.</font></font><font></font>
<font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
</ SCRIPT></font></font>
|
当您使用遍历方法逐步执行节点时,TreeWalker不仅返回有问题的节点,而且还会移动到该节点。 这就是在使用以下步骤遍历节点之后的原因:
|
1
2
|
<font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
while
(walker.nextNode())</font></font><font></font><font style=
"vertical-align: inherit;"
><font style=
"vertical-align: inherit;"
>
//代码在这里</font></font>
|
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69933200/viewspace-2652364/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/69933200/viewspace-2652364/
本文介绍如何使用TreeWalker对象遍历DOM元素,通过示例代码展示如何选取特定节点,包括设置过滤条件和使用遍历方法。适用于前端开发者理解和操作DOM结构。
360

被折叠的 条评论
为什么被折叠?



