js获取、修改CSS样式

CSS样式分为三种,行内样式、内部样式、外部样式。

一、element.style.stylename

  创建、获取、修改       行内样式  

console.log(document.getElementById("testcss0").style.backgroundColor);//""
document.getElementById("testcss0").style.backgroundColor = "black";
console.log(document.getElementById("testcss0").style.backgroundColor);//"black"

二、element.currentStyle  和  element.getComputedStyle

  获取        非行内样式

、element.styleSheets[i].rules[j].style.stylename (IE) 和  element.styleSheets[i].cssRules[j].style.stylename (firefox)

  创建、获取、修改        非行内样式

  document.styleSheets[i].rules[j].selectorText          //selectorText 属性 获取选择器,例如“#testcss0”

<!DOCTYPE HTML>
<html>
<head>
<meta  charset=utf-8" />
<link type="text/css" rel="stylesheet" href="test.css"  />
<style type="text/css">
#testcss1{
    width: 200px;
    height: 200px;
    border: 1px solid black;
}
</style>
</head>
<body>
<div id="testcss0"></div>
<div id="testcss1"></div>
</div>
<script>
  //IE //document.styleSheets[0].rules[0].style.width = "100px"; //document.styleSheets[1].rules[0].style.width = "100px"; //var selectorText = document.styleSheets[0].rules[0].selectorText; //selectorText获取选择器,例如这里是“#testcss0”
  //firefox document.styleSheets[1].cssRules[0].style.width = "100px"; document.styleSheets[1].cssRules[0].style.backgroundColor = "yellow"; console.log( document.styleSheets[1].cssRules[0].style.width); //"100px" var selectorText = document.styleSheets[1].cssRules[0].selectorText;   console.log(selectorText); //"#testcss1"
</script> 
</body>
</html>

可以封装一个函数来获取特定元素的style对象:

function getstyle(sname) { 
    for (var i=0; i<document.styleSheets.length;i++) { 
        var rules; 
        if (document.styleSheets[i].cssRules) { 
            rules = document.styleSheets[i].cssRules; 
        }
        else { 
            rules = document.styleSheets[i].rules; 
        } 
        for (var j=0;j<rules.length;j++) { 
            if (rules[j].selectorText == sname) {  
                return rules[j].style; 
            } 
        } 
    } 
} 

使用示例:
getstyle(#testcss0).padding = '10px';

 

 四、添加style标签与内容

 五、修改element.className来修改对应样式

转载于:https://www.cnblogs.com/babywhale/p/4603465.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值