本文介绍如何使用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样式规则的具体方法,希望能对读者有所帮助。若在使用过程中遇到任何疑问,欢迎留言咨询,作者将尽快回复。同时也感谢大家对本站的支持!