HTML属性与DOM属性的区别? -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

HTML属性与DOM属性的区别?

2016-06-20 10:25:09 1406 1

RT
BTW,这样的文章我还是没有读懂
http://www.cnblogs.com/tomkillua/archive/2012/08/15/2639420.html

取消 提交回答
全部回答(1)
  • 杨冬芳
    2019-07-17 19:43:43

    对于浏览器引擎而言,并不存在“HTML标签”这回事。其本质是DOM节点对象。也并不存在“HTML文档”这回事,其本质是DOM节点对象组成的文档树。

    浏览器引擎才是实际存储和渲染DOM节点对象的“大爷”。只是我们无法直接操作浏览器引擎,所以对这个本质并不熟悉(其实也不需要很熟悉,但是得知道)。

    DOM节点对象是唯一的,但操作DOM节点对象的数据,却不止有一种方法。例如对于一个图像的宽度:

    •HTML可以通过的width属性去定义;

    •JavaScript可以通过element.width去读取和修改;

    •别忘了CSS,CSS也可以通过width属性去修改。

    HTML属性和JavaScript的DOM对象的属性,本质上都只是影响DOM节点对象数据的众多理由之一。

    多个原因影响同一个DOM节点的实质数据(多对一),请务必记住这个本质理由。

    详细而言:

    HTML仅仅是文档树和节点对象的一种描述方法。

    •浏览器的解析器部分,根据HTML直接把DOM文档树,交给浏览器引擎。

    •用其他的方法,也可以描述DOM对象,例如JSX。(当然用其他方法描述DOM对象的时候,生成DOM文档树的过程,肯定会发生相应的修改)

    JavaScript中的DOM对象,仅仅是一种操作浏览器引擎中DOM对象的接口。

    •JavaScript中的DOM对象,和浏览器引擎中存储的DOM节点,本质上不是一个东西。

    •用户实际上仅仅有权操作JavaScript中提供的DOM对象。

    •JS引擎和浏览器引擎协作,确保了JavaScript的DOM对象,是引擎中DOM节点的一个原样映射。

    •这样用户就能通过操作JavaScript的DOM对象,透明的修改引擎中存储的DOM节点。

    •而浏览器引擎在本质上,仅仅负责在DOM树更新时承担重新渲染,实际上并不关心JS的存在。

    •你如果用其他办法修改了引擎使用的DOM树,也能更新文档结构。(当然这种办法基本上不存在…)

    至于HTML属性名和JavaScript DOM对象的属性名大多相似或等同,这仅仅是人为的方便。我如果喜欢我也可以设计成这样嘛:

    // <img src="http://localhost/1.png" alt="alt text" width=640 height=480 />
    node.DataSource = "http://localhost/1.png";
    node.AlternativeText = "alt text";
    node.Dimension.Width = 640;
    node.Dimension.Height = 480;
    
    虽然这样就真的没法记了。

    JavaScript DOM对象属性名和HTML属性名的近似,是JavaScript给Web开发者的恩惠。选择只记忆HTML属性名,然后记忆(或者是踩坑了再反查)JavaScript属性名中少量和HTML不同名的差异点,这是很自然的。

    0 0
相关问答

11

回答

在阿里云上安装和运行Node.js全功略

ycwong 2013-09-18 15:17:30 64402浏览量 回答数 11

19

回答

【分享】如何提高网站的打开速度?

enj0y 2012-11-17 14:35:22 56991浏览量 回答数 19

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 157696浏览量 回答数 145

28

回答

钉钉开放平台“常见问题常见问题常见问题“重要请关注

竹梅 2015-12-03 00:39:14 93778浏览量 回答数 28

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 147239浏览量 回答数 22

31

回答

[@倚贤][¥20]刚学完html/css/js的新手学习servlet、jsp需要注意哪些问题?

弗洛伊德6 2018-10-27 21:52:43 146040浏览量 回答数 31

23

回答

【云服务器分享】网站访问速度快才是硬道理

dreamdoo 2012-10-15 10:15:02 85369浏览量 回答数 23

13

回答

【云服务器分享】如何节省网站流量

dreamdoo 2012-10-15 10:36:09 80463浏览量 回答数 13

14

回答

对象存储oss【问答合集】

我是管理员 2018-08-03 14:54:02 67721浏览量 回答数 14

3

回答

Nginx—owncloud安装记事

寒喵 2014-06-07 23:24:41 48731浏览量 回答数 3
+关注
杨冬芳
IT从业
1
文章
9167
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载