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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通