1.1. 排他操作

1.1.1 排他思想

如果有同一组元素,我们想要某一个元素实现某种样式, 需要用到循环的排他思想算法:

  1. 所有元素全部清除样式(干掉其他人)
  2. 给当前元素设置样式 (留下我自己)
  3. 注意顺序不能颠倒,首先干掉其他人,再设置自己

    1.2 案例:百度换肤

    1550914640677.png
    1550914663042.png

    1.5. 自定义属性操作

    1.5.1 获取属性值

    1550915376339.png

    1.5.2. 设置属性值

    1550915445026.png

    1.5.3. 移出属性

    1550915513137.png

    1.5.5. H5自定义属性

    自定义属性目的:是为了保存并使用数据。有些数据可以保存到页面中而不用保存到数据库中。
    自定义属性获取是通过getAttribute(‘属性’) 获取。
    但是有些自定义属性很容易引起歧义,不容易判断是元素的内置属性还是自定义属性。
    H5给我们新增了自定义属性:
    1550915798516.png
    1550915815571.png

    1.6. 节点操作

    1.6.1. 节点概述

    1. 网页中的所有内容都是节点(标签、属性、文本、注释等),在DOM 中,节点使用 node 来表示。<br /> HTML DOM 树中的所有节点均可通过 JavaScript 进行访问,所有 HTML 元素(节点)均可被修改,也可以创建或删除。<br />![1550971058781.png](https://cdn.nlark.com/yuque/0/2020/png/1239356/1591257890380-3267ceec-fde4-4a71-9e70-21bd99345a3d.png#align=left&display=inline&height=237&margin=%5Bobject%20Object%5D&name=1550971058781.png&originHeight=237&originWidth=432&size=21662&status=done&style=none&width=432)<br />一般地,节点至少拥有nodeType(节点类型)、nodeName(节点名称)和nodeValue(节点值)这三个基本属性。<br />![1550970986988.png](https://cdn.nlark.com/yuque/0/2020/png/1239356/1591257964424-6e63b22a-7ac3-4a30-8f5f-ca6e7ed8d10d.png#align=left&display=inline&height=148&margin=%5Bobject%20Object%5D&name=1550970986988.png&originHeight=148&originWidth=666&size=9988&status=done&style=none&width=666)

    1.6.2. 节点层级

    利用 DOM 树可以把节点划分为不同的层级关系,常见的是父子兄层级关系
    1550971058781.png

    1.6.3. 父级节点

    1550971196686.png

    1.6.4. 子节点

    所有子节点
    1550971263925.png
    子元素节点
    1550971325828.png
    第1个子节点
    1550971774758.png
    最后1个子节点
    1550971825493.png
    第1个子元素节点
    1550972014509.png
    最后1个子元素节点
    1550972106485.png
    实际开发中,firstChild 和 lastChild 包含其他节点,操作不方便,而 firstElementChild 和 lastElementChild 又有兼容性问题,那么我们如何获取第一个子元素节点或最后一个子元素节点呢?

    1.6.6. 兄弟节点

    1550973142965.png
    1550973558511.png
    1550973610223.png
    1550973630150.png

    1.6.7. 创建节点

    1550975514321.png

    1.6.8. 添加节点

    1550975640170.png