博客
关于我
13.DOM和节点
阅读量:534 次
发布时间:2019-03-08

本文共 1315 字,大约阅读时间需要 4 分钟。

DOM 概念

DOM 全称是 Document Object Model(文档对象模型),它是 HTML 和 XML 文档的一种表示方法。DOM 将一个 HTML 文档视为一棵树状结构,其中每个节点代表文档中的一个部分,比如元素、属性或文本。

DOM 的核心概念

在 JavaScript 中,对象可以分为三类:

  • 用户定义的对象:通过 new 关键字创建的普通对象
  • 内建对象:如 ArrayDateMath 等内置的 JavaScript 对象
  • 宿主对象:与 JavaScript 引擎相关的对象
  • DOM 的核心思想是通过 DOM 方法获取和操作文档中的元素、属性和文本。例如:

    你想学习什么编程语言?

    本网页由 JS 写成,期待您对其进行学习

    • JavaScript
    • HTML5
    • SpringCloud

    在上述代码中,body 标签下的节点包括 h1pulul 标签下的节点则是 li 标签。

    DOM 节点类型

    在 DOM 中,节点可以分为三种类型:

  • 元素节点 (Element Node):如 HTML 标签 <div><p>
  • 属性节点 (Attribute Node):如 HTML 标签中的 titleclass 等属性值
  • 文本节点 (Text Node):如 HTML 文本内容
  • 以以下示例为例:

    本网页由 JS 写成,期待您对其进行学习

    • <p> 是元素节点
    • title 是属性节点
    • 本网页由 JS 写成,期待您对其进行学习 是文本节点

    如何获取 DOM 节点

    获取 DOM 节点的方式主要有以下三种:

  • document.getElementById():通过 id 属性快速获取元素
    let eleNode = document.getElementById('classList');
  • document.getElementsByTagName():通过标签名获取所有同一标签的元素
    let oList = document.getElementsByTagName('li');
  • document.getElementsByClassName():通过 class 属性值获取元素
    let oItems = document.getElementsByClassName('item');
  • 通过以上方法,可以轻松获取 DOM 中的各种节点,并根据需要进行操作。

    DOM 的实际应用

    在实际开发中,DOM 可用于以下操作:

  • 元素的添加与删除:例如通过 appendChild()removeChild() 方法
  • 属性的设置与修改:通过 setAttribute()removeAttribute() 方法
  • 文本内容的修改:通过 textContentinnerHTML 属性
  • 事件的绑定:通过 addEventListener() 方法
  • 动态生成内容:通过 document.createElement() 方法创建新元素
  • 通过合理运用 DOM 方法,可以实现对 HTML 文档的灵活操作,充分发挥 JavaScript 的优势。

    转载地址:http://vjxnz.baihongyu.com/

    你可能感兴趣的文章
    PostgreSQL 辟谣存在任意代码执行漏洞:消息不实
    查看>>
    PostgreSQL+PostGIS实现两坐标点之间最短路径查询算法函数(地图工具篇.12)
    查看>>
    Qt开发——简易调色板QPalette
    查看>>
    PostgreSQL-解决连接时遇到的乱码问题
    查看>>
    PostgreSQL15.2最新版本安装_远程连接_Navicat操作_pgAdmin操作_Windows10上安装---PostgreSQL工作笔记001
    查看>>
    PostgreSQL9.1 双机部署配置(主备数据同步)
    查看>>
    Qt开发——简易网络浏览器(一)
    查看>>
    Qt开发——简易成绩登记系统
    查看>>
    Postgresql中PL/pgSQL代码块的语法与使用-声明与赋值、IF语句、CASE语句、循环语句
    查看>>
    Postgresql中PL/pgSQL的游标、自定义函数、存储过程的使用
    查看>>
    SpringBoot中集成XXL-JOB分布式任务调度平台,轻量级、低侵入实现定时任务
    查看>>
    Postgresql中的表结构和数据同步/数据传输到Mysql
    查看>>
    Postgresql中自增主键序列的使用以及数据传输时提示:错误:关系“xxx_xx_xx_seq“不存在
    查看>>
    SpringBoot中集成websocket后WebSocketServer中注入mapper为空
    查看>>
    postgreSQL入门命令
    查看>>
    PostgreSQL删除数据库报"ERROR: There is 1 other session using the database."
    查看>>
    Qt开发——爱情公寓人事管理系统
    查看>>
    Qt开发——文件下载软件
    查看>>
    PostgreSQL和Oracle两种数据库有啥区别?如何选择?
    查看>>
    Qt开发——多线程网络时间服务器端
    查看>>