• DOM查找


    ㈠什么是DOM?

    DOM:document object model,是W3C(万维网联盟)的标准,是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容,接口和样式。

    对网页进行增删改查的操作。

     

    ㈡DOM查找

    ⑴按ID属性,精确查找一个元素对象

    var elem = document.getElementById("id")    效率非常高!!

     •注意:一定要注意大小写的规范,因为js里面大小写是非常敏感的。

    ①强调:getElementById只能用在document上

    ②何时:只用于精确查找一个元素

    ③问题:不是所有元素都有ID

     

    ④案例:

    <ul id="myList">
                 <li id="m1">首页</li>
                 <li id="m2">企业介绍</li>
                 <li id="m3">联系我们</li>
    </ul>
    
    var ul = document.getElementById('myList');
    console.log(ul);

     

    ⑵按标签名查找

    var elems = parent.getElementsByTagName("tag");
    
    查找指定parent节点下的所有标签为tag的子代节点

     

    •强调:①可用在任意父元素上

              ②不仅查直接子节点,而且查所有子代节点

              ③返回一个动态集合 

                 即使只找到一个元素,也返回集合

                 必须用[0],取出唯一元素

     

    •问题:不但找直接,而且找所有子代

     

    •案例

    <ul id="myList">
                 <li id="m1">首页</li>
                 <li id="m2">企业介绍</li>
                 <li id="m3">联系我们</li>
    </ul>

    var ul = document.getElementById('menuList');
    var list = ul.getElementsByTagName('li');
    console.log(list);
    
    

     

    ⑶通过name属性查找

    document.getElementsByName('name属性值')

    • 可以返回DOM树中具有指定name属性值的所有子元素集合。

    •案例

    <form id="registerForm">
                 <input type = "checkbox" name="boy"/>
                 <input type = "checkbox" name="boy"/>
                 <input type = "checkbox" name="boy"/>
    </form>
    
    var list = document.getElementsByName('boy');
    console.log(typeof list);

     

    ⑷通过class查找

    查找父元素下指定class属性的元素

    var elems = parent.getElementsByClassName("class");

    •有兼容性问题:IE9+

    •案例

    <div id = "news">
    
                   <p class = "mainTitle">新闻标题1</p>
    
                   <p class = "subTitle">新闻标题2</p>
                  <p class = "mainTitle">新闻标题3</p>
    
    </div>
    
    
    var div = document.getElementById('news');
    
    var list = div.getElementsByClassName('mainTitle');
    
    console.log(list);

     

    ㈤通过CSS选择器查找

    元素选择器

    类选择器

    ID选择器

    后代选择器

    子代选择器

    群组选择器

     

    ①只找一个元素

    var elem = parent.querySelector("selector")

     

    •强调:selector支持一切css中的选择器

    •强调:如果选择器匹配的有多个,只返回第一个

     

    ②找多个

    var elems = parent.querySelectorAll("selector")

     

    •强调:selector API返回的是非动态集合

    ㈢随机验证码案例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
        #code{
            width: 100px;
            height: 50px;
            background-color: lightblue;
            font-size: 44px;
            letter-spacing: 5px;
        }
        </style>
    </head>
    <body>
        <script>
        function createRandCode(){
            var chars=['a','b','c','1','2','3'];
            var randcode="";
            for(var i=0;i<3;i++){//3位随机码
                var randpos =Math.floor(Math.random() * (chars.length-1));          
                randcode+= chars[randpos];
            }
            document.getElementById("code").innerHTML=randcode;
        }
        </script>
        <div id="code"></div>
        <button onclick="createRandCode()">验证码</button>
    </body>
    </html>

    效果图:

  • 相关阅读:
    linux 中rz sz 文件传输
    linux find 命令
    深度学习的博客
    cifar10数据的转换、代码解释
    gflags的使用实例(转载)
    leveldb使用 (转载)
    (转载+整理)Leveldb安装及例子
    2013-09-25-【随笔】-Roy
    2013-09-22 [随笔]-Roy
    2013-08-12【随笔2】-Roy
  • 原文地址:https://www.cnblogs.com/shihaiying/p/11637991.html
Copyright © 2020-2023  润新知