style currentStyle getComputedStyle 三者区别

JS中通过style来获取元素的样式有时并获取不到,为什么呢?

一个元素的样式由三部分组成,嵌入样式,内联样式和外联样式。

  • 内联样式: 写在标签内的样式,
  • 嵌入样式: 写在和之间,用包住的样式
  • 外联样式: 由标签引入的外部css

document.getElementById(“ID”).style 只可以获取到内嵌样式,也就是写在标签内style属性中定义的样式。

在IE下可以用currentStyle中获取其他样式,但在别的浏览器中不支持。

而火狐,chrome等可以通过getComputedStyle这个方法来获取所有计算过的样式。

getComputedStyle(document.getElementById("ID"))