html属性和dom属性的区别,HTML属性与DOM属性的区别?

RT

BTW,这样的文章我还是没有读懂

http://www.cnblogs.com/tomkillua/archive/2012/08/15/2639420.html

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

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

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

HTML可以通过

<img>

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不同名的差异点,这是很自然的。

950-390_%E7%94%BB%E6%9D%BF-1.jpg

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

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

相关文章

java泛型方法 通配符_Java泛型教程–示例类,接口,方法,通配符等

java泛型方法 通配符泛型是Java编程的核心功能之一&#xff0c;它是Java 5中引入的。如果您使用的是Java Collections &#xff0c;并且版本5或更高版本&#xff0c;则可以肯定使用了它。 将泛型与集合类一起使用非常容易&#xff0c;但是它提供了比仅创建集合类型更多的功能&a…

ubuntu中mysql怎么退出命令_Ubuntu下MySQL简单操作

安装Ubuntu下安装常规软件都比较简单&#xff0c;直接使用apt-get即可。安装步骤如下&#xff1a;输入mysql命令系统会提示没有安装这个软件&#xff0c;如下图&#xff1a;根据系统提示&#xff0c;执行下面命令进行安装。$ sudo apt-get install mysql-client-core-5.6$ sudo…

虚拟现实技术利用计算机,虚拟现实技术在计算机专业教学中的应用思考

【摘要】虚拟现实技术在计算机教学中进行应用&#xff0c;其能够有效提高学生的学习兴趣&#xff0c;培养学生的探索能力和创新能力。本文对虚拟现实技术的概念和特点进行了阐述&#xff0c;并且分析了虚拟现实技术在计算机实践教学中的实践应用&#xff0c;从而有效提高计算机…

计算机二级web题目(2)--HTTP基础

1[单选题]HTTP协议是运行于&#xff08;C&#xff09;协议上的应用层协议。 A. FTP B. SMTP C.TCP D. UDP 解析&#xff1a;①传输控制协议TCP是传输层通信协议。 2[单选题] HTTP协议的消息有(B)两种类型。 A. 发送消息和接收消息 B. 请求消息和响应消息 C. 消息头和消息体 D. …

mpu 配置内存空间_PCIE的内存地址空间、I/O地址空间和配置地址空间

pci设备与其它接口的设备(如i2c设备)最大的不同是存在内存地址空间和配置地址空间首先区分一下IO空间和内存空间cpu会访问的设备一般有内存和外设寄存器&#xff0c;如下图所示。x86架构采用独立编址将内存操作与外设IO操作分开了才有了内存空间和IO空间的区分&#xff0c;x86平…

如何使用Java和XML Config在Spring Security中启用HTTP基本身份验证

在上一篇文章中&#xff0c;我向您展示了如何在Java应用程序中启用Spring安全性 &#xff0c;今天我们将讨论如何使用Spring Security 在Java Web应用程序中启用Basic HTTP身份验证 。 如果您使用的是Spring Security 3.1或更低版本&#xff0c;我将向您展示如何同时使用Java配…

网络通信协议是计算机网络的组成部分之一,通信互联网技术考点精讲之计算机网络系统的组成...

下面是由希赛小编整理的通信互联网技术考点精讲之计算机网络系统的组成&#xff0c;希望能帮助学友们。具体内容如下&#xff1a;计算机网络系统的组成计算机网络通常由3部分组成&#xff1a;资源子网、通信子网和通信协议&#xff1f;(1)资源子网&#xff1a;是网络中实现资源…

centos安装llvm_Linux CentOS上编译并安装Clang教程

如何在Linux CentOS上编译并安装Clang&#xff1f;下面小编为大家具体的介绍一下&#xff0c;解决你在安装Clang遇到的一系列问题。一、Minimal版CentOS安装Clang前的环境准备1&#xff0c;安装gcc&#xff1a;yum install gcc2&#xff0c;安装g&#xff1a;yum install gcc-c…

win10下JDK环境变量配置与IDEA开发工具清晰简洁步骤,迈出Java学习第一步

文章目录一、JDK下载二、win10下环境变量配置三、开发工具IDEA安装一、JDK下载 可以直接去官网下载&#xff0c;推荐下载JDK8.0版本 也可以这个网盘里面找一下下载&#xff1a;Windows下JDK8.0 提取码&#xff1a;0909 安装的时候建议jdk和jre都。 二、win10下环境变量配置 …

双非计算机专业考研西安交通大学,2020双非一战计算机专硕初试403经验贴

本帖最后由 Johnsonw 于 2020-7-3 10:59 编辑先自我介绍一下&#xff0c;我初试403分&#xff0c;专业课134分&#xff0c;本科是双非&#xff0c;无项目经历&#xff0c;无科研经历&#xff0c;一战西安交通大学&#xff0c;最终成功上岸。初试&#xff1a;参考书目西安交通大…

计算机二级web题目(3)--HTML基础

1 [单选题] HTML是一种标记语言。它是由&#xff08;C&#xff09;解释执行的。 A. 不需要解释 B. Windows C. 浏览器 D. 标记语言处理软件 2 [单选题] 在HTML文档中用于表示页面标题的标记对是(D)。 A. <head></head> B. <header></header> C. <Ca…

连不上机器判断机器状态_KUKA机器人为什么KPP故障联不上,断电重启hou报RDC连接连接不上...

1.RDC连不上出现的现象: 通过指示灯的判断是最简单快捷的,如果是坏了可以直接提示RDC的故障,如果灯不亮可直接判断是RDC坏了或者是线没连上.如果RDC卡连不上,指示是不亮的!那么KSP或KPP网络断,同样会引起RDC不能读取数据,这是问什么呢?表面上看在KCB总线中KSP与KPP是串行连接的…

分布式部署_业务模块化打造单体和分布式部署同步支持方案

我在2019年中国.NET开发者峰会上为大家分享了我们的微服务电商安全工程实践&#xff0c;那次会议分享的高清录播已经上传到我的腾讯课堂&#xff0c;大家可以通过底部的小程序打开直接观看(复习)。在大会上跟大家提到&#xff0c;我们当时只有4个人的创业团队。追求的是一个既可…

计算机二级web题目(4)--CSS基础

1 [单选题] CSS指的是下列&#xff08;B&#xff09;的缩写。 A. Computer style Sheets B. Cascading style Sheets C. Creative stye Sheets D. Colerful siyle Sheets 2 [单选魃] 在HTML文档中,应该在下列哪个部分引用外部样式表?&#xff08;D&#xff09; A. 文档的末尾 …

dozer bean_使用Dozer框架进行Bean操作

dozer bean介绍 如您所知&#xff0c;您可以在任何操作系统中将文件或文件夹从源位置复制到目标位置。 您是否考虑过复制基本上是POJO的java对象&#xff1f; 在很多情况下&#xff0c;您需要将源bean的内容复制到目标bean。 我不关心对象的拷贝构造函数&#xff0c;浅拷贝或深…

英语作文计算机主板,(完整版)电脑主板bios英文版的中英文对照翻译.pdf

电脑主板 BIOS 英文版的中英文对照翻译让你的电脑 BIOS 知识迅速提高滴。 Time/System Time时间 / 系统时间Date/System Date 日期/ 系统日期Level 2 Cache 二级缓存System Memory 系统内存Video Controller 视频控制器Panel Type 液晶屏型号Audio Controller 音频控制器Modem …

怎么修改提交git是的用户名_git 修改提交邮箱以及用户名-亲测

一.查看git配置$ git config --list 此命令会列出所有GIT当时能找到的配置...查看 列表项[email protected] 邮箱user.name123 用户名二.修改邮箱和用户名1.重新设置邮箱和用户名$ git config --global user.email"[email protected]&…

简而不漏,300字Java标识符命名规则规范,看一遍就可以记住,包名类名变量名常量名,让命名有迹可循

1.标识符命名规则 &#xff08;如果不遵循&#xff0c;编译不通过&#xff0c;需要严格遵守&#xff09; 由26个英文字母大小写&#xff0c;0-9&#xff0c;_&#xff0c;$组成不可以数字开头不可使用关键字和保留字&#xff0c;可以包含关键字和保留字严格区分大小写不能包含…

html文字依次显示,利用定时器和css3动画制作文字依次渐变显示的效果

如上图&#xff0c;这种效果看着是不是挺“柔”的附代码文字一次渐变出现body{background-color: #333333;padding: 20px;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}div,span{color: #ffffff;font-size: 30px;}.hidden{display: no…

面向Java程序员的20大Spring REST面试问题答案

大家好&#xff0c;过去两周来&#xff0c;我一直在与Spring教程共享一些REST&#xff0c;今天&#xff0c;我将向申请Web开发人员角色的Java开发人员共享一些常见的Spring和REST面试问题。 由于Spring Framework是用于开发Java Web应用程序和RESTful Web Services的最受欢迎的…