What is the difference between properties and attributes in HTML?

attributes属于html中的属性 翻译为特性
properties属于DOM对象中的属性 翻译为属性

正常我们创建一个HTML元素时,浏览器会解析出这个对象和它拥有的一些属性
比如

<input type="text" value="name" />

这个input就有两个属性。

当我们通过DOM对象去获取属性,他们却不一定是简单的1对1的关系。
比如

<input id="the-input" type="text" value="Name:">

这个DOM节点有三个属性id,type,value.
1、id这个属性(properties)是映射的是html id的特性(attributes)。这个是不能改变和受限制的。是纯映射
2、type这个属性(properties)是映射的是html type的特性(attributes)。但这个不是纯映射关系
假设我们把设置为<input type='foo'>

theInput.getAttribute("type")   //输出的是foo
theInput.type                          // 输出的是text   

因为 type的属性是被限定在指定的值
3、相反的value这个属性(properties),不是映射到html 'value'特性(attributes)。而是映射input现在的value。会随着输入的值变化而变化
假设我们输入的值join

theInput.value                             // 输出 "John"
theInput.getAttribute('value')       // 输出  "Name:"

如果你想知道 input的初始值是哪个。可以使用defaultValue这个属性。这个是与Value纯映射的

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong阅读 22,590评论 1 92
  • 平时,properties 和 attributes 这两个单词经常会出现。我对这两个词也是傻傻分不清,平常都只是...
    Polaris丶阅读 2,728评论 0 3
  • 你懂了吧,那位椰蓉,黑的图案,africa图案,惹你是她吧,谁脱,突围门佛,我弄的啦/你懂了吧,热泪白露说,那位,...
    狗奴才乐队阅读 397评论 0 0
  • 1. 目前的上司是个大大咧咧的陕北姑娘,平时说话跳脱可爱,直来直去,特别招人喜欢,跟她工作的第一天就喜欢上了她。我...
    雨轩的城阅读 1,185评论 0 0