js-dom查询练习

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript">

        /*
        * 定义一个函数,专门用来为指定元素绑定单击响应函数
        * 参数:
        *   idStr 要绑定单击响应函数的对象的id属性值
        *   fun 事件的回调函数,当单击元素,该函数会被触发
        * */
        function myClick(idStr,fun){
            var btn = document.getElementById(idStr);
            btn.onclick = fun;
        }

        window.onload = function (){
            var btn04 = document.getElementById("btn04");
            btn04.onclick = function (){
                btn04.innerHTML = "yadayo~~~"
                //获取id为city的元素
                var city = document.getElementById("city");

                //查找city下的所有li节点
                var lis = city.getElementsByTagName("li");


                for(var i = 0;i<lis.length;i++){
                    alert(lis[i].innerHTML);
                }
            }
            var btn05 = document.getElementById("btn05");
            btn05.onclick = function (){
                //获取id为city的节点
                var city = document.getElementById("city");
                //返回city的所有子节点
                /*
                * childNodes属性会获取包括文本节点在内的所有节点
                * 根据dom标签标签空白也会当成文本节点
                * */
                var cns = city.childNodes;
                // alert(cns.length)
                // for(var i=0;i<cns.length;i++){
                //     alert(cns[i])
                // }
                var cns2 = city.children;
                alert(cns2.length)

            }
            var btn06 = document.getElementById("btn06");
            btn06.onclick = function (){
                //返回id为phone的有还俗
                var phone = document.getElementById("phone");
                //返回id为phone的第一个子节点
                // phone.childNodes[0];
                //firstchild节点可以获取到道歉元素的第一个子节点(包括空白文本节 点),不支持ie8一下的浏览器
                var fir = phone.firstChild;
                fir = phone.firstElementChild;
                alert(fir)
                alert(fir.innerHTML)
            }

            //为id为btn07的按钮绑定一个单击响应函数
            myClick("btn07",function (){

                //获取id为bj的节点
                var bj = document.getElementById("bj");

                //返回#bj的父节点
                var pn = bj.parentNode;
                alert(pn.innerHTML)
                alert(pn.innerText)
                /*
                * innerText
                *   -该属性可以获取元素内部的文本内容
                *
                * */

            })

            //为id为btn08的按钮绑定一个单击响应函数
            myClick("btn08",function (){
                //获取id为android的元素
                var and = document.getElementById("android");
                //返回android的前一个兄弟节点
                var ps = and.previousSibling;

                var pe = and.previousElementSibling;

                alert(ps);

            })


        }
    </script>

</head>
<body>
    <ul id = "city">
        <li id="bj">北京</li>
        <li id = "sh">上海</li>
        <li>东京</li>
        <li>首尔</li>
    </ul>
    <ul id="phone">
        <li>ios</li>
        <li>android</li>
        <li>windows</li>
        <li>macos</li>
    </ul>

    <button id="btn04">获取城市信息</button>
    <button id="btn05">btn05</button>
    <button id="btn06">btn06</button>
    <button id="btn07">btn07</button>
    <button id="btn08">btn08</button>
</body>
</html>

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值