HTML-DOM、XML-DOM、W3C-DOM三者之间的区别与联系

本文解释了getAttribute()与直接属性访问如this.src的区别。getAttribute()不仅适用于HTML,还适用于XML等文档,能获取自定义属性。文章区分了HTML-DOM、XML-DOM与标准DOM的不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有许多人说,既然HTML可以直接使用属性名称进行访问,就像这样,

假如访问图片的地址,可以使用this.src,那为什么还要使用getAttribute("")方法呢?

getAttribute("")写起来总给人一种多写了代码的感觉,毕竟这个单词就挺长的。

 

下面我来说一下getAttribute("")与传统的写法有什么不同。

this.src这种写法可以称之为HTML-DOM,我为什么这么说呢,

是因为这种写法只适用于HTML文档中。

而this.getAttribute("src")这种写法可以称之为W3C-DOM,

或者标准DOM,理论上this.getAttribute("src")适用于使用任何一种

标记语言写出来的任何一份文档,比如说我们熟悉的XML文档。

在解析XML的时候,使用this.getAttribute("src")可以获得某一个节点的

src属性,this.src写法却是非法的,不能获取任何值。

有的人可能会问:为什么说是理论上呢?因为W3C只是提供了一个接口,至于

各个代理厂商如何实现和是否愿意实现就是另一回事了,所以说是理论上。

 

 

this.getAttribute("src")相对于this.src来说,还有一个优势,那就是

getAttribute可以获取自定义属性,比如说,你想给<a>起一个中文名字,

你定义了一个nameCn属性,this.getAttribute("nameCn")可以轻松获取到nameCn属性,

如果使用this.nameCn会得到一个undefined。这个有时候会对你起到意想不到的帮助的。

 

总结如下:

this.src这种方式只能获取HTML文档中元素本身已经有的属性。

this.getAttribute("src")可以实现以上功能,除此之外,最常见的就是

获取XML文档中的元素的自定义属性和HTML文档中的自定义属性。

 

初学者比较疑惑的是认为DOM都一样。

实际上我们所遇到的DOM基本上可以分为三种:

HTML-DOM、XML-DOM、标准DOM。

标准DOM的API在操作文档的时候是通用的,其它DOM API只是为了方便操作特定类型的文档提供了一些更加便利的操作方法。

 

 

像类似getAttribute的方法还有很多,这里就不一一列举了。

W3C提供的标准DOM接口基本上都是这样的方法。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浴火_凤凰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值