和我一起深入了解文档对象模型(DOM)「Element 属性获取」

「这是我参与11月更文挑战的第 22 天,活动详情查看:2021最后一次更文挑战

本文是对上一篇 和我一起深入了解文档对象模型(DOM)「Element 基本属性」 内容上的补充

Element 类型

属性获取

html 中的每个元素,都会具备有 0 个或多个属性,常用于为这个元素添加更多的信息。

与属性相关的 DOM 操作方法主要有如下 3 个:

  • getAttribute()
  • setAttribute()
  • removeAttribute()

属性的获取操作,可以看下图中的操作效果

image.png

请注意: 在上一篇中,我们说着需要使用 className 来获取元素对应的属性,但这里却是使用了 class。根本的原因在于,className 的获取方式是通过元素的属性获取,而 class 是通过封装的方法 getAttribute() 获取

getAttribute() 更加强大的地方在于,他可以获取我们自定义的属性!

image.png

在这个元素上,添加一个自定义的属性,然后尝试使用 getAttribute() 并获取到了对应的值!同样的,我们去尝试获取一个并不存在的值,结果返回了 null

属性名不区分大小写,第三次的获取操作使用了部分大写,但仍可以拿到对应的数据!!此外,根据 h5 的规范,使用自定义属性时,建议添加 data- 前缀以示区别


再次声明,使用 getAttribute() 会获取到对应的属性,若存在则返回其字符串格式的数据

因此,存在两个特殊的情况,使用 .style 会返回对应的 css 的对象,我们可以继续通过 . 的方式去获取或者修改样式效果

image.png

另一种情况就是,元素绑定的交互事件,我们以 onclick 为例

image.png

还是这个 div 元素,我们添加了一个 onclick 属性,调用刚定义的 showMsg(),通过 .onclick 会返回一个函数类型的值,使用 typeof 也验证了这一观点

猜你喜欢

转载自juejin.im/post/7033395736054071333
今日推荐