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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值