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的内容为空

  • 相关阅读:
    前端-【学习心得】-事件委托方法
    [方法] iOS时间戳的转换
    [封装] 修改NSString中部分字段的颜色
    Python3基础16——file对象测试数据的读写与操作
    Python3基础15—— 变量作用域
    Python3基础14——函数&内置函数
    Python3基础13——冒泡排序
    Python3基础12——while循环
    Python3基础11——打印三角形
    Python3基础10——切片(str和list)
  • 原文地址:https://www.cnblogs.com/yangjingyang/p/10210460.html
Copyright © 2011-2022 走看看