JavaScript动态添加与删除CSS样式规则

作者:白露时间:2026-10-31 01:52:44浏览:437

本文介绍如何使用JavaScript动态添加和删除CSS样式规则。重点讲解insertRule方法,该方法兼容IE8及以上版本,第一个参数为样式字符串,第二个参数为插入位置。同时提及addRule方法,虽兼容所有IE版本但功能相对基础。通过示例代码展示具体操作方式。

JavaScript动态添加与删除CSS样式规则

核心实现逻辑如下所示:


<html>
  <head>
  <link rel="stylesheet" type="text/css" href="basic.css">
    <script>
      window.onload=function(){
           var sheet=document.styleSheets[0];
           //【新增样式规则】
          // sheet.insertRule('.div1{font-size:16px;color:red;}',0);     IE8及以上不支持  //第一个参数是样式,第二个是样式的位置
          // sheet.addRule('.div1','font-size:20px;color:orange;font-weight:bold;',0);    //IE都支持    //第一个参数是样式名,第二个样式位置是样式规则,第三个是样式位置
           function insertCss(element,csName,position){                        //跨浏览器兼容      
             if(sheet.insertRule){                     // sheet.insertRule 非IE的时候会读取到一个函数,IE8即以上的时候会读取到undefined
            sheet.insertRule(element+'{'+csName+'}',position);    
          }else if(sheet.addRule){                      
            sheet.addRule(element,csName,position);
          }
    }
        insertCss('.div1','font-size:16px;color:orange',0);
         //【删除样式规则】
        //sheet.deleteRule(position) ; //删除样式 参数为位置        //IE8及以上不支持
        //sheet.removeRule(position) ; //删除样式 参数为位置        //IE支持
        function deleteCss(position){        //跨浏览器兼容
        if(sheet.deleteRule){        
           sheet.deleteRule(position);
      }else if(sheet.removeRule){
          sheet.removeRule(position);
      }  
    deleteCss(0);
    }
        
}
    </script>
  </head>
  <body></body>
</html>

上述内容介绍了利用JavaScript动态添加CSS样式规则的具体方法,希望能对读者有所帮助。若在使用过程中遇到任何疑问,欢迎留言咨询,作者将尽快回复。同时也感谢大家对本站的支持!

作者最新文章