• JavaScript连载27-文档加载模式以及元素获取


    一、文档加载模式

    1.事件

    • 三要素:事件源(触发时间的元素);事件名称(click点击事件);事件处理程序(事件出发后要执行的代码函数形式)
    • 存在问题:浏览器加载一个页面的时候,是按照自上而下的顺序加载的,若将script标签写到head内部,在代码执行时候,页面还没有加载,页面中的DOM对象也没有加载。就会导致js中无法获取页面中的DOM对象。
    • 解决方法:onload事件,会在整个页面加载完之后才触发,为window绑定一个onload事件,该事件对应的响应函数将会在页面加载完成之后执行,这样可以确保我们的代码执行时所有的DOM对象已经加载完了。
        <style>
            button{
                100px;
                height:100px;
                background-color:green;
                margin:0 auto;
                font-size:30px;
            }
        </style>
    
    </head>
    <body>
    <div></div>
    <button id="button">点击</button>
    <script>
        window.onload = function (ev) {
            var btn = document.getElementById("button");
            btn.onclick = function (ev) {
                alert("成功了");
            }
        }
    </script>
    </body>
    

    运行显示:
    27.1
    点击按钮
    27.2

    二、文档页面元素获取

    • 根据id、标签名、name、类名、选择器获取元素
    <script>
        window.onload = function (ev) {
            var btn = document.getElementById("button");
            btn.onclick = function (ev) {
                alert("成功了");
            }
        }
        window.onload = function (ea) {
            var btn1 = document.getElementById("button")
            console.log(btn1);
            var btn2 = document.getElementsByClassName("button2");
            console.log(btn2[0]);
            var btn3 = document.getElementsByTagName("button");
            console.log(btn3[0]);
            var btn4 = document.getElementsByName("button3");
            console.log(btn4[0]);
            var btn5 = document.querySelector("#button2");
            console.log(btn5);
            var btn6 = document.querySelectorAll("#button1");
            console.log(btn6[0]);
        }
    </script>
    

    运行显示:
    27.3

    三、源码:

    • D27_1_Document.html
    • 地址:https://github.com/ruigege66/JavaScript/blob/master/D27_1_Document.html
    • 博客园:https://www.cnblogs.com/ruigege0000/
    • CSDN:https://blog.csdn.net/weixin_44630050?t=1
    • 欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流
      20.4
  • 相关阅读:
    bash shell学习shell基础 (笔记)
    Linux入门 (笔记)
    《Effective C++》 阅读小结 (笔记)
    趣味PAT循环19. 币值转换(20)
    git学习小结 (笔记)
    一个新手Java编程的初次感受
    201671010112 第四周的感悟
    201671010112 老同学的java学习之路
    全民IT时代到来了?学计算机很有前途?——淘宝2011校园招聘笔试感想
    编写友好的命令行应用程序
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/13388694.html
Copyright © 2020-2023  润新知