JavaScript课堂笔记 DOM

DOM

DOM简介

DOM:文档对象模型

​ -对文档的结构化表述

​ -定义了在程序中对该结构进行访问的方式

DOM 分类:

  • 核心DOM:用于任何结构化的表述

    ​ 与编程语言无关 DOM是一种API

  • HTML DOM:用于HTML文档的标准模型

  • XML DOM:用于XML文档的标准模型

DOM的作用:

  • 访问文档内容,包括元素、属性、文本
  • 增加文档内容,包括元素、属性、文本
  • 删除文档内容,包括元素、属性、文本
  • 访问文档内容,包括元素、属性、文本

DOM树和DOM结点

DOM 将 HTML 文档抽象为树形结构,称这棵树为 DOM 树。
HTML 中的每一项内容都可以在 DOM 树中找到,对文档内容的操作即对 DOM 树的操作

在这里插入图片描述

HTML 文档中的所有内容都是节点

  • ① 整个文档是一个文档节点
  • ② 每个 HTML 元素是**元素节点 **;
    • HTML 开始标签中的属性为元素节点对象的属性
    • HTML 开始标签中的事件属性为元素节点对象的方法
    • 元素节点对象中的方法函数中的 this 指向当前触发事件的元素
  • ③ HTML 元素内的文本是**文本节点 **;
    • 空格、换行空格属于文本节点
  • ④ 每个 HTML 属性是**属性节点 **;
  • ⑤ 注释是注释节点

在结点树中,顶端结点被称为

父节点 子节点 同胞结点(左为兄)

在这里插入图片描述

访问DOM结点

如何获得结点:

  • 直接获取结点

    • 通过id属性获得结点

      document.getElementById() ID选择器
      
    • 通过标签名获得所有同名标签

      document.getElementsByTagName() 标签选择器
      
    • 通过类名获得所有类名相同的标签

      document.getElementsByClassName() 类选择器
      
  • 通过结点关系获取

    • 通过父节点获得子节点
    • 通过子节点获得父节点
    • 获得前后兄弟节点

元素树:

仅仅包含元素节点的树结构,不是一颗新树,只是节点树的子集

节点树元素树(没有文本、注释)
获取父节点parentNodeparentElement
获取子节点childNodeschildren
获取第一个子节点firstChildfirstElementChild
获取最后一个子节点lastChildlastElementChild
获取前一个兄弟节点previousSiblingpreviousElementSibling
获取后一个兄弟节点nextSiblingnextElementSibling

innerHTML属性:

​ – innerHTML 是 DOM 中元素节点的属性,相当于一个容器

​ – 用于获取或改变任意元素节点的内容,该属性可读可写

​ – 操作简单,几乎所有浏览器均支持

元素节点修改:

/*文档元素修改*/
document.getElementsByClassName("three")[0].nextElementSibling.innerHTML="猕猴桃"
/*背景颜色修改*/
document.getElementsByClassName("three")[0].style.background="blue"
document.getElementsByClassName("three")[0].setAttribute("style","background:yellow")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值