zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    sql语句性能优化
    Windows版Redis如何使用?(单机)
    redis在项目中的使用(单机版、集群版)
    在windows上搭建redis集群(redis-cluster)
    Jenkins打包Maven项目
    numpy交换列
    Linq中join多字段匹配
    SpringMVC Web项目升级为Springboot项目(二)
    SpringMVC Web项目升级为Springboot项目(一)
    springboot读取application.properties中自定义配置
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/13388694.html
Copyright © 2011-2022 走看看