JavaScript获取CSS行间、内联及外链样式的实现方法

作者:像素漫游时间:2026-10-30 10:35:13浏览:355

本文介绍在JavaScript中获取CSS样式的三种方式:行间样式通过element.style直接读取;内联样式利用getComputedStyle或currentStyle实现跨浏览器兼容;外链样式则通过document.styleSheets遍历cssRules获取。提供完整代码示例与兼容性说明。

获取行间样式

获取行间样式时,首先需要通过document.getElementById等方法获取目标元素节点。随后,直接访问该元素的style属性即可读取已设置的CSS值。例如,获取背景色可使用element.style.background。


<div id='div1' style="backgroud:red">测试</div>   

<script>

  var odiv=document.getElementById('div1');  //先获取到要获取样式的元素标签,也就是获取到div1

  console.log(odiv.style.background);      //这样我们就可以获取到了行间的样式了

</script>

获取内联样式

对于内联样式(即嵌入在HTML中的<style>标签定义的样式),由于不同浏览器对计算后样式的支持存在差异,需采用兼容方案。现代浏览器推荐使用getComputedStyle(element, null)获取最终渲染样式,其中null表示无伪类。对于IE8及更早版本,则需回退使用element.currentStyle属性。


<html>

  <head>

    <style>

      .div2{

        background:red;

        }

    </style>

  </head>

  <body>

    <div id="div1" class="div2">测试</div>

    <script>

      var odiv=document.getElementById('div1');      //先获取到要获取样式的元素标签,也就是获取到div1

      //console.log(getComputedStyle(odiv,null).background);   getComputedStyle("元素","伪类") 是获取到计算后的样式,第二个参数是伪类,如果没有直接使用null  但是万恶的IE8及之前不支持所以需要用到下面的方法

      //console.log(currentStyle.background)  这个只有IE本身支持 也是获取到计算后的样式

     console(window.getComputedStyle?getComputedStyle(odiv,null).background:odiv.currentStyle);      //跨浏览器兼容

    </script>

  </body>

</html>

获取外链样式表

针对外链样式表(通过<link>标签引入的CSS文件),JavaScript可通过document.styleSheets集合访问所有样式表。获取特定样式表后,再访问其cssRules数组,即可读取其中定义的样式规则。例如,通过sheet.cssRules[0].style.background可获取第一个规则的样式值。


<html>

  <head>

    <link rel="stylesheet"  type="text/css"  href="basic.css"  />      //外链的样式表

  </head>

  <body>

    <div id="div1" class="div2" >测试</div>

    <script>

      var sheet=document.styleSheets[0]    //获取到外链的样式表

      var rule=sheet.cssRules[0]       //获取到外链样式表中的第一个样式

      console.log(rule.style.background)    //red  这样就可以获得了外链样式表中指定的样式了

    </script>

  </body>

</html>

外链样式表的结构通常包含<link>标签指定href属性指向CSS文件。在JavaScript中,通过遍历document.styleSheets获取样式表对象,再深入cssRules数组访问具体样式规则。此方法适用于动态读取外部CSS文件中的样式定义。


.div2{

  background:red;

}

以上内容总结了JavaScript获取CSS样式的三种主要方式:行间样式、内联样式和外链样式。每种方式对应不同的DOM API和兼容性问题,开发者需根据实际需求选择合适的实现方案。

作者最新文章