JavaScript高级程序设计 学习笔记之DOM基础(五)

8、遍历DOM (createNodeIterator)

<html>

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

        <title>JSP Page</title>

        <script type="text/javascript">

            var iterator=null;

            function makeList(){

                var oDiv=document.getElementById("div1");//取得div元素

                //第一个参数,从哪个节点开始搜索,第二个,哪些节点需要访问,目前是显示所有节点

                //第三个,需要忽略哪些节点,目前指没有,第四个,是否需要扩展实体引用

                iterator=document.createNodeIterator(oDiv,NodeFilter.SHOW_ELEMENT,null,false);//创建节点遍历

 

                var oOutput=document.getElementById("text1");//获取 textarea元素

                var oNode=iterator.nextNode();//是否有节点

                while(oNode){

                    oOutput.value+=oNode.tagName+"\n";//将有节点的元素标签作为value显示在textarea

                    oNode=iterator.nextNode();

                }

            }

        </script>

    </head>

    <body >

        <div id="div1">

            <p>Hello<b>World!</b></p>

            <ul>

                <li>List item1</li>

                <li>list item2</li>

                <li>list item3</li>

            </ul>

        </div>

        <textarea rows="10" cols="40" id="text1"></textarea><br/>

        <input type="button"  value="制作列表" οnclick="makeList()"/>

    </body>

</html>

显示效果:

当点击按钮式,将所有的标签元素(注意:在火狐浏览器有效,不支持IE)

DIV

P

B

UL

LI

LI

LI

 

此外:TreeWalker也提供了,遍历节点的方法,比起NodeIterator还添加了些方法。具体查看帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值