HTML中attribute属性与JavaScript中property属性联系与区别

attribute:是HTML标签上的某个属性, 无论value的值是什么类型都会编译为字符串类型

property:是js获取的DOM对象上的属性值,

 

初步联系:

  在js中获取到dom对象时, dom对象拥有各种property, 被封装在properties中

  其中一个property为attributes列表, 里面存储着HTML标签中的原生属性,

     而几个常用的attribute(即是html标签自带的属性)会作为property附加到properties中作为property进行操作

    对于自定义的属性, 无法生成相对应的property, 

    为了方便能直接将自定义的attribute直接生成相对应的property, HTML5提供一个将自定义标签写作 "data-属性" 的形式, 能够自动被封装到一个名为"dataset"的property中

 


---什么是attribute?
html的预定义和自定义属性
---什么是property?
js对象身上的直接属性
---什么是布尔值属性,什么是非布尔值属性?
property所对应的属性值是否布尔类型
---attribute和property的同步关系
非布尔值属性
实时同步
布尔值属性
没有动过property
attribute会同步property
       其实可以理解为一直都不同步,因为property中支持boolean属性, 但是attribute不支持boolean属性,
       所谓的同步只是在初始化之后两个拥有相同的值,只是共同保持初始状态

property不会同步attribute
动过property
attribute不会同步property
property不会同步attribute
---浏览器认谁,用户操作的是谁
property
---在jQuery中的体现
attr()
prop()
---总结
布尔值属性最好使用prop方法
非布尔值属性attr方法
---html5中有关的属性
classlist:相对于class的property(className)
add
remove
toggle
dataset:自定义属性(限制 data-x-y)的property
posted @   0龙行者0  阅读(265)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示