webAPI

作者: 椋椋夜色 | 来源:发表于2019-05-07 22:41 被阅读0次

    <!DOCTYPE html>

    <html lang="zh-CN">

    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title> webAPI </title>

    <!--
        什么是 webAPI;
    
        web:网页
    
        api:接口。一套别人封装好的方法和属性,我们只要来调用就能起到对应的功能
    
        webAPI:就是一套专门用来操作网页的方法和属性
    
        万物皆对象,webAPI里面可以体会到,把网页中所有的元素都当做对象来处理
    
        目前我们的webAPI阶段把JS代码都写在body结束之前
    
        1.能保证一定能找到我们想找的元素
    
        2.符合规范
    
          // 总结找元素的方法和细节;
    
          document.getElementById:
    
          通过id来找元素,找得到返回这个元素对象,找不到返回null
    
          以下方法无论如何都会返回伪数组,哪怕找不到返回的也是长度为0的空数组
    
          document.getElementsByClassName
    
          通过类名找,有兼容的问题,IE8和之前的浏览器不支持
    
          document.getElementsByTagName
    
          通过标签名找
    
          document.getElementsByName
    
          通过name属性来找,IE8和以前的浏览器只能找到表单元素,新浏览器都能找到(了解一下)
    
        onmouseover:鼠标移入事件
    
        onmouseout: 鼠标移出事件
    
    -->
    
        <style>
    
            .box {
    
                width: 500px;
    
                height: 500px;
    
                border: 1px solid #000;
    
                margin: 20px 0px;
    
            }
    
            .red {
    
                background-color: rgb(241, 15, 15);
    
            }
    
        </style>
    
    </head>
    
    <body>
    
        <h1 id="title">根据id去找到某个元素</h1>
    
        <input type="button" value="获取它的类" id="btn1">
    
        <input type="button" value="添加一个类变红色" id="btn2">
    
        <input type="button" value="删除一个类:删掉颜色" id="btn3">
    
        <div class="box">根据类名获取元素, 得到的是一个伪数组</div>
    
        <input type="button" value="修改" id="ben">
    
        <p>通过标签名找到元素</p>
    
        <p>通过标签名找到元素</p>
    
        <p>通过标签名找到元素</p>
    
        <script>
    
            /*      document.getElementById
    
            通过id找到某个元素, 当返回值返回
    
            如果找到返回的就是这个元素, 找不到返回的是null
    
    */
    
            // 根据id去找到某个元素
    
            // 通过返回值返回元素
    
            var res = document.getElementById('title');
    
            console.log(res);
    
            /*      document.getElementsByClassName:
    
                    根据类名获取元素, 得到的是一个伪数组
    
                    它无论如何返回的都是伪数组, 哪怕找不到也是返回长度为0的空数组
    
                    后面加s返回的肯定是伪数组! getElement(s)ByClassName
    
                    伪数组: 有下标、 元素、 长度, 但是没有数组提供的那些方法( 例如: push等等方法)
    
                    如果想获取类名    // 元素.className
    
                    加一个类: += 但是注意新类名前面要写空格  // 删一个类: 重新赋值
    
            */
    
            // 找按钮
    
            var btn1 = document.getElementById('btn1');
    
            var btn2 = document.getElementById('btn2');
    
            var btn3 = document.getElementById('btn3');
    
            //找div
    
            // 因为只找到这一个div,所以取下标0,因为下标0就是这个div
    
            var box = document.getElementsByClassName('box')[0];
    
            // 按钮1的点击事件, 获取 div 的类
    
            btn1.onclick = function () {
    
                alert(box.className);
    
            }
    
            // 按钮2的点击事件, 给div加一个类
    
            btn2.onclick = function () {
    
                //给div加一个类red,记得要把它原来的类也给写上,不然会覆盖掉
    
                // box.className = "box red";
    
                // box.className += "red"; //本质是 box.className = "box" + "red";
    
                // 加一个类可以用+=,但是要记得新类名前面要加空格
    
                box.className += " red";
    
            }
    
            // 按钮3的点击事件, 删掉一个类
    
            btn3.onclick = function () {
    
                // 字符串没有-,如果你用-相当于会把字符串尝试转换成数字,但是这里转换不成功得到NaN
    
                // 所以说删掉一个类绝对不可能用-=
    
                // box.className -= " green";
    
                // 如果要删掉一个类,可以重新赋值,重新赋值的时候不要带被删的那个类就行了
    
                box.className = "box";
    
            }
    
            // ---------------------------------------
    
            //通过标签名找到元素
    
            var pList = document.getElementsByTagName('p');
    
            //找到按钮 ,修改双标签里面的文本 :innerText
    
            var ben = document.getElementById('ben').onclick = function () {
    
                for (var i = 0; i < pList.length; i++) {
    
                    pList[i].innerText = "哈哈"
    
                }
    
            }
    
        </script>
    

    </body>

    </html>

    相关文章

      网友评论

        本文标题:webAPI

        本文链接:https://www.haomeiwen.com/subject/xpvuoqtx.html