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节点树

dbd55dec7693b8d563014d47b1d91f48.png

根据HTML DOM标准,树中的所有节点都可以通过javascript进行访问,所有HTML 元素(节点)均能被修改 也可以 删除 和 新增新的节点

节点父子和同胞

下面的图片展示了节点树的一部分,以及节点之间的关系:

9324ebc3b44fd0b23618352c33d95f65.png

父(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 - 节点(元素)的属性节点

下面也是一些常用方法:

53ec1d679ff6e34f4760f54b009a30c3.png

下面是一些属性介绍:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/365872.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于Java垃圾收集

本文讨论的是使用的最受欢迎的框架之一带来的开销–我敢打赌,几乎没有应用程序不使用java.util.Collections。 本文基于以下事实:框架为例如集合的初始大小提供了默认值。 因此,我们有一个假设,即大多数人不会费心地自行管理其收…

ansys命令流_ANSYS命令流建模3之划分单元+施加弹簧

以马蹄形隧道为例,本文介绍如何添加荷载等隧道如上图所示!设置线单元材料属性,划分单元(二衬单元)lsel,s,,,1,6 !LSEL,Type,Item,Comp,VMIN, VMAX,VINClATT,1,1,3 !给线单元付材料号、实常数、单元类型号 LATT, MAT, REAL, TYPE, ESYSMSHKEY,1 …

Linux 系统中用户切换(su user与 su - user 的区别)

1,su命令 (su为switch user,即切换用户的简写) 格式:su -l USERNAME(-l为login,即登陆的简写,其中l可以省略) 如果不指定USERNAME(用户名),默认即…

正则表达式常用方法

RegExp对象中的方法 1,test()方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。 reg规定匹配以a开头的字符串,利用test进行测试,字符串str满足reg匹配规则…

python安装哪个版本好啊_windows10安装哪个版本的Python?

python2除了一些大公司历史遗留问题还在使用,目前中小创公司使用最多的是python3 大公司的一些新项目也开始用python3了 目前来说,python3.5以上的版本都可以 目前使用最多的是python3.7(建议你安装这个) 最新的是python3.8&#…

mongose + express 写REST API

一、准备工具 先确保电脑已经安装好nodejs 1.mongoose;安装非常简单: npm install mongoose --save 【mongoose封装了mongodb的方法,调用mongoose的api可以很轻松的对mongodb进行操作】 2.express;npm install express --save …

js实现html模板继承,理解JavaScript中的原型和继承

本文主要讲了原型如何在JavaScript中工作,以及如何通过[Prototype]所有对象共享的隐藏属性链接对象属性和方法;以及如何创建自定义构造函数以及原型继承如何工作以传递属性和方法值。介绍JavaScript是一种基于原型的语言,这意味着对象属性和方…

骁龙660是32位还是64位_高通发布骁龙 7c/8c 芯片,以后你可能会在电脑上看到它...

高通的芯片生意早已不局限于移动设备领域,而是进一步深入至 PC 市场。相比强调性能的 X86 芯片,以高通骁龙为代表的 ARM 系芯片则希望突出自己的优势,即更长的电池续航、无风扇设计和全天候的蜂窝网络连接。在骁龙技术峰会的第三天&#xff0…

css3之盒模型

什么是盒模型? css中的每个元素都是一个盒模型, 包括html body元素, 浏览器解析css的时候也会把每个元素看成一个盒子来解析。 盒模型具备的属性有: content 、padding 、margin、border 、background等 盒模型的分类&#xff1…

学计算机的误解,让人误解的六大专业

原标题:让人误解的六大专业隔行如隔山,很多人喜欢看名字猜专业,所以导致很多大学专业被人误解。其实了解一个专业不能仅仅凭借它的名字,也不能断章取义,只取片面意思。接下来就让我们来了解一下有哪些被人误解的专业吧…

杂项:轮询

ylbtech-杂项:轮询1.返回顶部 1、轮询(Polling)是一种CPU决策如何提供周边设备服务的方式,又称“程控输出入”(Programmed I/O)。轮询法的概念是,由CPU定时发出询问,依序询问每一个周…

js和css实现手机横竖屏预览思路整理

实现效果,如上图。 首先,实现手机页面在PC端预览, 则先在网上找到一个手机的背景图片,算好大概内间距,用来放预览的页面,我这里是给手机预览页面的尺寸按iphone5的尺寸来的; 一个手机页面在这里…

thinkphp日志泄漏漏洞_【Windows高危漏洞预警】CVE20200601,影响关键加密功能

一、事件报告2020年伊始,NSA发现了一个影响Microsoft Windows加密功能的严重漏洞(CVE-2020-0601)。证书验证漏洞允许攻击者破坏Windows验证加密信任的方式,并且可以启用远程代码执行。该漏洞会影响Windows 10和Windows Server 2016/2019以及依赖Windows的…

第一章计算机网络概述答案,第一章 计算机网络概述[3]

1-07 试在下列条件下比较电路交换和分组交换。要传送的报文共x(bit)。从源站到目的站共经过k段链路,每段链路的传播时延为d(s),数据率为b(b/s)。在电路交换时电路的建立时间为S(s)。在分组交换时分组长度为p(bit),且各结点的排队等待时间可忽…

最小路径算法(Dijkstra算法和Floyd算法)

1.单源点的最短路径问题:给定带权有向图G和源点v,求从v到G中其余各顶点的最短路径。 我们用一个例子来具体说明迪杰斯特拉算法的流程。 定义源点为 0,dist[i]为源点 0 到顶点 i 的最短路径。其过程描述如下: 步骤dist[1]dist[2]di…

matlab tsai手眼标定程序代码_标定系列一 | 机器人手眼标定的基础理论分析

旷视MegMaster机器人系列是旷视自主研发的一系列AI智能机器人硬件设备,基于旷视全球领先的人工智能算法及机器人技术,可实现搬运、分拣、托举、存储等功能,被广泛应用于物流仓储、工厂制造等场景。旷视SLAM组主要负责多传感器建图、定位、标定…

Java8中的外观(JavaFX8)

JavaFX8在外观方面进行了一些更改 ,其中最相关的是新CSS API ,它允许您为控件以及已公开的Skin类创建新CSS属性和伪类。 使用CSS可以改变控件的很多外观,但是CSS只能实现很多功能,而这正是Skin类的用处。从“ UI控件体系结构”快…

600分理科选计算机专业,天津600分左右,计算机或电子信息专业,怎么选院校?...

原标题:天津600分左右,计算机或电子信息专业,怎么选院校?想学计算机或电子信息,一定是偏理选科对吧!所谓的换算,是指的高考后出了全天津市不分文理的总排名后,如何换算成相当于天津市…

[TypeScript] Export public types from your library

If youre a library author, its useful to expose your public types as interfaces, to allow your consumers to extend them if needed. For example: To resolve the issues, we can do : // typings.d.tsinterface JQuery {hideChildren(): JQuery } 转载于:https://www.…

python tkinter选择路径控件_Python3 Tkinter选择路径功能的实现方法

效果基于Python3。 在自己写小工具的时候因为这个功能纠结了一会儿,这里写个小例子,供有需要的参考。 小例子,就是点击按钮打开路径选择窗口,选择后把值传给Entry输出。 效果预览 这是选择前:选择:选择后&a…