html dom概念,js学习之HTML DOM的一些基础概念
经过近一个星期,总算把w3chool上的HTML DOM的实例差不多看了一遍,因为本身对其中的很多都用过,所以看起来也很快,现在就再系统的回顾下HTML DOM的一些概念和基础的东西,大部分都是从w3school上看到的
什么是DOM
DOM是w3c(万维网联盟)的标准
DOM定义了访问HTML和XML的标准
"W3C文档对象模型(DOM)是中立于语言和平台的接口,它允许程序和脚本动态的访问和更新文档的结构,内容和样式"
W3C DOM 标准被分为 3 个不同的部分:
● 核心DOM - 针对任何结构化文档的标准模型
● XML DOM - 针对XML文档的标准模型
● HTML DOM - 针对HTML文档的标准模型
ps:DOM是 Document Object Model (文本对象模型)的缩写
什么是XML DOM
XML DOM定义了所有xml元素的对象和属性以及访问他们的方法
如果你想学习XML DOM 可以访问 http://www.w3school.com.cn/xmldom/index.asp
什么是HTML DOM
HTML DOM:
● HTML的标准对象模型
● HTML的标准编程接口
● W3C标准
HTML DOM 定义了所有HTML元素的对象和属性以及访问他们的方法,换句话说,HTML DOM是关于如果获取,删除,修改HTML元素的标准
下面就是针对HTML DOM的一些方法属性的介绍
HTML DOM节点
在HTML DOM中,所有事物都是节点,DOM被视为节点树的HTML
DOM节点
据W3C的HTML DOM标准,HTML文档中的所有内容都是节点
● 整个文档是一个文档节点
● 每个 HTML 元素是元素节点
● HTML 元素内的文本是文本节点
● 每个 HTML 属性是属性节点
● 注释是注释节点
HTML DOM节点树
根据HTML DOM标准,树中的所有节点都可以通过javascript进行访问,所有HTML 元素(节点)均能被修改 也可以 删除 和 新增新的节点
节点父子和同胞
下面的图片展示了节点树的一部分,以及节点之间的关系:
父(parent)、子(child)和同胞(sibling)等术语用于描述这些关系。父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。
● 在节点树中,顶端节点被称为根(root)
● 每个节点都有父节点、除了根(它没有父节点)
● 一个节点可拥有任意数量的子
● 同胞是拥有相同父节点的节点
请看下面的 HTML 片段:
DOM 教程
DOM 第一课
Hello world!
从上面的 HTML 中:
● 节点没有父节点;它是根节点
●
和 的父节点是 节点
● 文本节点 "Hello world!" 的父节点是
节点
并且:
● 节点拥有两个子节点:
和
●
节点拥有一个子节点: 节点
●
节点也拥有一个子节点:文本节点 "DOM 教程"
●
和
节点是同胞节点,同时也是
的子节点
并且:
●
元素是 元素的首个子节点
●
元素是 元素的最后一个子节点
●
元素是 元素的首个子节点
●
元素是
元素的最后一个子节点
注意:
DOM 处理中的常见错误是希望元素节点包含文本。
在本例中:
DOM 教程,元素节点 ,包含值为 "DOM 教程" 的文本节点。
可通过节点的 innerHTML 属性来访问文本节点的值。
HTML DOM 方法
方法即是我们可以在节点(HTML 元素)上执行的动作。
[b]编程接口[/b]
可通过 JavaScript (以及其他编程语言)对 HTML DOM 进行访问。
所有 HTML 元素被定义为对象,而编程接口则是对象方法和对象属性。
方法是您能够执行的动作(比如添加或修改元素)。
属性是您能够获取或设置的值(比如节点的名称或内容)。
getElementById() 方法返回带有指定 ID 的元素:
例: var element=document.getElementById("intro");
HTML DOM 对象 - 方法和属性
一些常用的 HTML DOM 方法:
● getElementById(id) - 获取带有指定 id 的节点(元素)
● appendChild(node) - 插入新的子节点(元素)
● removeChild(node) - 删除子节点(元素)
一些常用的 HTML DOM 属性:
● innerHTML - 节点(元素)的文本值
● parentNode - 节点(元素)的父节点
● childNodes - 节点(元素)的子节点
● attributes - 节点(元素)的属性节点
下面也是一些常用方法:
下面是一些属性介绍:
innerHTML 属性
获取元素内容的最简单方法是使用 innerHTML 属性。
innerHTML 属性对于获取或替换 HTML 元素的内容很有用。
实例:
Hello World!
var txt=document.getElementById("intro").innerHTML;
document.write(txt);
在上面的例子中,getElementById 是一个方法,而 innerHTML 是属性。
innerHTML 属性可用于获取或改变任意 HTML 元素,包括 和
。
nodeName 属性
nodeName 属性规定节点的名称。
● nodeName 是只读的
● 元素节点的 nodeName 与标签名相同
● 属性节点的 nodeName 与属性名相同
● 文本节点的 nodeName 始终是 #text
● 文档节点的 nodeName 始终是 #document
注释:nodeName 始终包含 HTML 元素的大写字母标签名。
nodeValue 属性
nodeValue 属性规定节点的值。
● 元素节点的 nodeValue 是 undefined 或 null
● 文本节点的 nodeValue 是文本本身
● 属性节点的 nodeValue 是属性值
nodeType 属性
nodeType 属性返回节点的类型。nodeType 是只读的。
比较重要的节点类型有:
元素类型 NodeType
元素 1
属性 2
文本 3
注释 8
文档 9
html dom概念,js学习之HTML DOM的一些基础概念相关推荐
- 【Alljoyn】Alljoyn学习笔记五 AllJoyn开源技术基础概念解析
AllJoyn开源技术基础概念解析 摘要: 总线(Bus) 实现P2P通信的基础 AllJoyn 的底层协议类似于D-Bus,相当于是跨设备分布式的 D-Bus 总线附件(Bus Attachment ...
- D3.js学习指北--第二章,基础复习
D3学习指北–第二章,基础复习 1.关于html的svg标签 html5里有很多个标签,但是关于D3的应用多用在一个标签上< svg >svg标签可以理解为一个绘画板,里面提供了各类的 ...
- JS学习笔记二 DOM,正则表达式简单例子介绍
一.正则表达式 例子: var patt = /w3school/i; 例子解释: /w3school/i 是一个正则表达式. w3school 是模式(pattern)(在搜索中使用). i 是修饰 ...
- js学习总结:DOM节点一(选择器,节点类型)
DOM:document object model 文档对象模型 DOM就是整个HTML文档的关系图谱(代表整个HTML文档),可以理解为下图: 一.查看元素节点 1.document.getElem ...
- 【零基础学JS -3】Javascript学习的前情提要(基础概念 最佳实践 命名约定)
- 【小波分析】学习笔记(一):基础概念和小波理论综述
学习资料来源:http://users.rowan.edu/~polikar/WAVELETS/WTtutorial.html 何为变换? 首先需要了解的是,为什么我们需要变换,以及什么是变换? 将数 ...
- 安全学习笔记(一):基础概念
域名 什么是域名 域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置) 由 ...
- 华为云计算HCIA学习笔记-第1章 云计算基础概念
1.1 云计算课程安排说明 (IA-虚拟化-FC / IP-Linux OpenStack 桌面云/IE-备份容灾迁移) 1.2 为什么云计算IA讲虚拟化? 提前告知学员,为什么IA课程要重点讲解虚拟 ...
- 从零学习perl语言--perl学习笔记(1)--从基础概念到hello world编写(本文约1000字)
perl这个单词是什么意思? practical extraction and report language–实用摘录与报表语言. perl能干什么? perl几乎什么都能干,你甚至可以用perl编 ...
最新文章
- 百度智能云一口气发布 14 个新产品,三大视频解决方案,产品最高降价 50%
- 机器学习-机器学习简介
- medium font size in reuse project sapUiFontSize
- 粗谈LINUX下的文件系统管理
- MySQL 增加、更新、删除
- python3.5模块大全-python tkinter模块使用大全(超全)
- Using platform encoding (UTF-8 actually) to copy
- Maven学习(四)Maven 命令行选项
- 问题:虚拟环境名字相同遇到bug,please specify a different sdk name?
- maven 基本常识以及命令
- 前后端数据交互(七)——前端跨域解决方案(全)
- Qt 解决窗口在多个显示器上显示位置设置问题
- java 立体几何体中心点_高中数学知识点大全,立体几何核心考点及解题技巧
- 两阶段随机规划模型简介
- Coding and Paper Letter(七十五)
- 那些让面试官直呼内行的Java知识点(一)
- Launcher3如何实现主菜单背景的透明度调整
- 7 张简单图片帮你弄懂企业级架构
- pandas库读取多个excel文件数据并进行筛选合并处理后导入到新表格中
- AVAudioplayer时error解决 创建失败
热门文章
- 1千条数据平均分配给15人_5项数据挂零!但5犯太吓人!CBA第1狠人场均干1人
- 如何开启mysql计划事件
- AUTOSAR从入门到精通100讲(三十五)-Lin通信协议栈分析三部曲LinTrcv配置及代码分析
- springboot编写自定义过滤器
- 程序员有哪些可以写博客的网站?
- mysql主键和聚簇索引_[MySQL] innoDB引擎的主键与聚簇索引
- php最常用方法,php 常用方法
- CSS知识点整理(2):框模型,定位
- 四、spring boot 1.5.4 日志管理
- JS之setTimeOut与clearTimeOut