JS — 事件的相关概念和DOM

JS是以事件驱动为核心的一门语言。

事件的三要素:事件源、事件、事件驱动程序

例如:

<body>
<div id="box1"></div>

<script type="text/javascript">
    // 1、获取事件源
    var div = document.getElementById("box1");
    // 2、绑定事件
    div.onclick = function () {
        // 3、书写事件驱动程序
        alert("我是弹出的内容");
    }
</script>

</body>

常见的事件如下:

 


 

 

DOM:文档对象模型。DOM 为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构。目的其实就是为了能让js操作html元素而制定的一个规范。

DOM就是由节点组成的。

解析过程

HTML加载完毕,渲染引擎会在内存中把HTML文档,生成一个DOM树,getElementById是获取内中DOM上的元素节点。然后操作的时候修改的是该元素的属性。

DOM树(一切都是节点)

DOM的数据结构如下:


 

DOM节点的获取

DOM节点的获取方式其实就是获取事件源的方式。

节点的访问关系,是以属性的方式存在的。

JS中的父子兄访问关系:

 

插入节点

插入节点有两种方式,它们的含义是不同的。

方式1:

    父节点.appendChild(新的子节点);

解释:父节点的最后插入一个新的子节点。

方式2:

    父节点.insertBefore(新的子节点,作为参考的子节点)

解释:

  • 在参考节点前插入一个新的节点。
  • 如果参考节点为null,那么他将在父节点最后插入一个子节点。

复制节点(克隆节点)

格式如下:

    要复制的节点.cloneNode();       //括号里不带参数和带参数false,效果是一样的。

    要复制的节点.cloneNode(true);

括号里带不带参数,效果是不同的。解释如下:

  • 不带参数/带参数false:只复制节点本身,不复制子节点。

  • 带参数true:既复制节点本身,也复制其所有的子节点。

posted @ 2019-09-07 19:33  浪子、轻易不回头  阅读(278)  评论(0编辑  收藏  举报