JS-DOM

1.事件

1.1概述

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

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

三句话:获取事件源、绑定事件、书写事件程序

获取事件:document.getElementById(“box”)

绑定事件:box.οnclick=function(){程序};

书写事件驱动程序:学习关于dom的操作

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        div{
            height: 70px;
            width: 70px;
            background: pink;
            cursor:pointer;
        }
    </style>
</head>
<body>
    <!-- 需求:点击盒子,弹出对话框alert(1)。 -->
    <div id='box'></div>
    <script type="text/javascript">
        var div=document.getElementById('box');
        div.onclick=function(){
            alert(1);
        }
    </script>
</body>
</html>

获取事件源的几种方法:

(1)var arr1=document.getElementById("box");

(2)var arr2=document.getElementsByTagName("div");

(3)var arr3=document.getElementsByClassName("leiming");

1.2事件有哪些

1.3解析过程

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

1.4 DOM(文档对象类型)

document是文档对象模型的一部分。DOM是一个复合数据类型。

1.5 DOM的数据结构(树状)

1.6 HTML的组成部分为节点(Node)

在HTML当中一切都是节点

在我们看到的结构图中,整个文档就是一个文档节点

每个HTML标签都是一个元素节点(标签)

标签中的文字则是文字节点(文本)

标签的属性是属性节点(属性)

1.7 节点的获得

通过id找到HTML元素

标签=document.getElementById(“”);

通过标签名找到

标签=document.getElementsByTagName(“”)

通过类名

标签=document.getElementByClassName(“”)

返回值是一个标签,可以直接使用;如果返回值是一个数组,通常是便利之后使用,

特殊情况:数组的值只有一个

document.getElementsByTagName("")[0];获取数组的第一个元素

document.getElementsByClassName("")[0];获取数组的第一个元素

2.DOM操作

2.1 操作

(1)创建节点

新的标签=document.creatElement("标签名");

(2)插入节点

父节点.appendChild(新节点);在父节点的最后一个插入一个新的节点

父节点.insertBefore(新节点,参考节点);在参考节点前插入

(3)删除节点

父节点.removeChild(子节点);必须是指定要删除的子节点

(4)复制节点

新节点=要复制的节点.cloneNode(参数);参数可选复制节点

(5)节点属性

 

获取:getAttribute(名称)

设置:setAttribute(名称, 值)

删除:removeAttribute(名称)

1.属性

添加属性

(1)逐个添加

box.style.width="10px";

box.style.height="100px";

box.style.backgroundColor="red";   这里使用的大写

(2)连写

box.style.cssText="width:100px;height:100px;background-color:pink;"  这里和在style里写一样,加横线---

2. z-index

用于定位和层级表示

   <style>
        .one{
            position: absolute;
            z-index: 1;
            background: red;
            width: 100px;
            height: 100px;
        }
        .two{
            z-index:2;
            background:  yellow;
            width: 100px;
            height: 100px;
            top: 40px;
            left:40px;
            position: absolute;
        }
        .three{
            z-index: 3;
            background: blue;
            width: 100px;
            height: 100px;
            top: 80px;
            left:80px;
            position: absolute;
        }
        .four{
            z-index:4;
            background: green;
            width: 100px;
            height: 100px;
            top: 120px;
            left:120px;
            position: absolute;
        }
    </style>

    <!-- z-index通常和position和top以及left一起使用。 -->

    <!-- index表示谁在上面,谁的数值比较大,谁那一层就覆盖在上面 -->

3.dom元素创建

(1)第一种创建方式:document.write

        document.write("<li>我是document.write创建的</li>")

(2)第二种创建方式:直接利用innerHTML方法

        ul.innerHTML+="<li>我是inner.HTML创建的</li>"

(3)第三种创建方式:利用dom的api创建元素

var newLi=document.createElement("li");
         newLi.innerHTML="我是createElement创建的"
         console.log(newLi);
         //指定位置添加
         var li1=document.getElementById("li1");
         ul.insertBefore(newLi,li1);

        //document.write();不常用,因为会覆盖原来的页面
    //innerHTML用的比较多。绑定属性和内容比较方便(节点套节点)

    //document.createElement;也是比较多,指定数量的时候一般用它

先创建。。然后是填写内容。。。然后是位置追加

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值