「这是我参与11月更文挑战的第 22 天,活动详情查看:2021最后一次更文挑战」
本文是对上一篇 和我一起深入了解文档对象模型(DOM)「Element 基本属性」 内容上的补充
Element 类型
属性获取
html 中的每个元素,都会具备有 0 个或多个属性,常用于为这个元素添加更多的信息。
与属性相关的 DOM 操作方法主要有如下 3 个:
- getAttribute()
- setAttribute()
- removeAttribute()
属性的获取操作,可以看下图中的操作效果
请注意: 在上一篇中,我们说着需要使用 className
来获取元素对应的属性,但这里却是使用了 class
。根本的原因在于,className
的获取方式是通过元素的属性获取,而 class
是通过封装的方法 getAttribute()
获取
getAttribute()
更加强大的地方在于,他可以获取我们自定义的属性!
在这个元素上,添加一个自定义的属性,然后尝试使用 getAttribute()
并获取到了对应的值!同样的,我们去尝试获取一个并不存在的值,结果返回了 null
属性名不区分大小写,第三次的获取操作使用了部分大写,但仍可以拿到对应的数据!!此外,根据 h5 的规范,使用自定义属性时,建议添加
data-
前缀以示区别
再次声明,使用 getAttribute()
会获取到对应的属性,若存在则返回其字符串格式的数据
因此,存在两个特殊的情况,使用 .style
会返回对应的 css
的对象,我们可以继续通过 .
的方式去获取或者修改样式效果
另一种情况就是,元素绑定的交互事件,我们以 onclick
为例
还是这个 div
元素,我们添加了一个 onclick
属性,调用刚定义的 showMsg()
,通过 .onclick
会返回一个函数类型的值,使用 typeof
也验证了这一观点