zoukankan      html  css  js  c++  java
  • DOM2

    一. DOM
    5. 节点属性
    1)节点名称
    nodeName 返回节点的名称
    元素节点名称:大写的标签名
    文本节点名称:#text
    注释节点名称:#comment
    属性节点名称:属性名称
    document节点名称:#document
    2)节点内容 值
    nodeValue 返回节点的值
    元素节点值:null或undefined
    元素节点内容不能使用nodeValue获取,
    要使用innerHTML获取或者设置
    属性节点值:属性值
    文本节点值:文本内容
    注释节点值:注释内容
    document节点值:null或undefined
    3)节点类型
    nodeType 返回节点的类型 数字
    元素节点类型:1
    属性节点类型:2
    文本节点类型:3
    注释节点类型:8
    document节点类型:9
    案例:(01.节点名称.html)
    结构:
    <div id="h" class="hh">hello<!-- 你好 --></div>
    hahaha
    js:
    1)获取div元素节点的名称并输出到控制台
    2)获取div的id及class属性节点的名称并输出到控制台
    3)获取文本hello节点的名称并输出到控制台
    4)获取注释节点的名称并输出到控制台
    5)获取document节点的名称并输出到控制台
    案例:(02.节点的值.html)
    结构:
    <div id="h" class="hh">hello<!-- 你好 --></div>
    js:
    1)获取div元素节点值并输出到控制台
    2)获取div的id及class属性节点值并输出到控制台
    3)获取文本hello节点值并输出到控制台
    4)获取注释节点值并输出到控制台
    5)获取document节点值并输出到控制台
    案例:(03.节点类型.html)
    结构:
    <div id="h" class="hh">hello<!-- 你好 --></div>
    <div>
    <p name='q'></p>
    <p name='q'></p>
    <p name='q'></p>
    <p name='q'></p>
    </div>
    js:
    1)获取div元素节点类型并输出到控制台
    2)获取div的id属性节点类型并输出到控制台
    3)获取文本hello节点类型并输出到控制台
    4)获取注释节点类型并输出到控制台
    5)获取document节点类型并输出到控制台
    二. 节点的常用操作
    增删改查,DOM使用这些操作对节点进行增删改查
    1. 增
    1)创建标签
    var div1 = document.createElement('div');
    2) 创建文本
    var text1 = document.createTextNode('今天天气很好');
    3) 将文本放进标签
    div1.appendChild(text1);
    将div1放进body
    var body = document.body;
    body.appendChild(div1);
    4) 插入子节点
    在script标签前面插入div1
    var script = document.getElementsByTagName('script')[0];
    //插入元素div1到script前边去
    body.insertBefore(div1,script);
    案例:(04.添加子节点.html)
    创建的页面结构如下:
    <body>
    <div class="d1" id="box">
    <div>div2</div>
    <a href="http://www.baidu.com">前往百度</a>
    </div>
    <script></script>
    </body>
    样式:
    d1
    宽,高,背景色
    2. 删除子节点
    div1.removeChild(a1);
    从父元素div1中删除a1元素
    案例:(05.删除子节点.html)
    结构:
    <div id="box">
    <a href="">前往百度</a>
    <p>hello</p>
    <p>hh</p>
    <p>hhjsjsjs</p>
    <span>我是span</span>
    </div>
    js:
    删除<p>hello</p>段落元素

    3. 替换子节点
    div1.replaceChild(newEle, oldEle);
    从父元素div1中替换子元素oldEle为newEle
    案例:(06.替换子节点.html)
    结构:
    <div id="box">
    <a href="">hahahaha</a>
    </div>
    js:
    将a节点替换为p节点
    <p>hello</p>
    4. 克隆节点
    clone 克隆
    cloneNode() 克隆节点
    克隆a1节点,生成a2新节点
    var a2 = a1.cloneNode(false);
    布尔参数:
    true:表示深复制,a1的所有属性,子节点全部克隆
    false:表示浅复制,不会克隆子节点,默认就算是false。
    注意:克隆只能克隆节点,不能克隆js对节点设置的内容,比如事件。
    案例:(07.克隆节点.html)
    结构:
    <div id="box">
    <a href="#">hahaha</a>
    </div>
    js:
    克隆a元素,插入到div的前面
    测试只克隆元素,不能克隆事件。
    5. 设置、删除、获取属性
    attribute 属性
    getAttribute 获取属性
    获取div1的name属性
    div1.getAttribute('name');
    setAttribute 设置属性
    设置div1的name属性值为qqq
    div1.setAttribute('name','qqq');
    removeAttribute
    移除name属性
    div1.removeAttribute('name');
    案例:(08.属性操作.html)
    样式:
    #div1{
    宽、高、背景色
    }
    js:
    1)创建页面结构如下:
    <div id="div1" name="lisi" age="33">今天天气很暖和</div>
    2)div添加单击事件,删除id属性
    3)获取age属性和name属性的值并输出
    4)删除age属性,再输出age属性值。

    作业:动态生成表格
    结构:
    <button></button>
    <button></button>
    <div></div>
    样式:
    .tab{
    宽度
    边框
    细边框
    }
    js:
    1)表格中的数据
    定义数组,数组中的每个元素都是对象类型的,对象有两个属性分别是name和price
    2)创建表格
    为’create‘按钮添加单击事件
    创建表格元素
    为表格元素添加属性(id和class)
    在表格中添加tr、td
    遍历数组,有几个元素就需要创建几个tr元素,每创建一个tr需要创建tr下的所有td,通过遍历数组的对象元素来动态创建td,创建的td元素需要添加样式属性,属性包括(高度、水平垂直居中、边框、、),然后需要设置td的内容,最后将td放到tr中。
    3)鼠标事件的处理
    鼠标经过和离开tr
    经过tr:改变tr的背景色
    离开tr:恢复之前的背景色
    4)删除表格
    点击“delete”按钮,删除table
    1)删除div中的子元素
    2)设定div的innerHTML的内容为空

  • 相关阅读:
    解决 'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
    关于IDEA的Maven打jar包springboot项目问题,打成可执行jar包,IDEA创建的maven项目和spring initializr项目
    Flink接收RabbitMQ数据写入到Oracle
    操作MongoDB好用的图形化工具,Robomongo -> 下载 -> 安装
    PL/SQL Developer -> 下载 -> 安装 ->执行SQL -> 设置本地/远程连接
    MongoDB学习笔记,基础+增删改查+索引+聚合...
    SpringBoot整合MongoDB JPA,测试MongoRepository与MongoTemplate用法,简单增删改查+高级聚合
    Elasticsearch没看文档之前,整理的一些知识
    Elasticsearch中文文档,内容不全
    Elasticsearch 7.4.0官方文档操作
  • 原文地址:https://www.cnblogs.com/yangjingyang/p/10210460.html
Copyright © 2011-2022 走看看