Js如何动态修改css样式?

如何动态修改css样式

一、使用obj.className来修改样式表的类名

function changeStyle1() {
  var obj = document.getElementById("btnB");
  obj.style.backgroundColor= "black";
}

缺点:会覆盖原有的style

二、使用obj.style.cssTest来修改嵌入式的css

function changeStyle2() {
   var obj = document.getElementById("btnB");
   obj.style.cssText = " display:block;color:White;
}

缺点:会覆盖原有的style

三、使用obj.className来修改样式表的类名

function changeStyle3() {
  var obj = document.getElementById("btnB");
  //obj.className = "style2";
  obj.setAttribute("class", "style2");
}

优点:不会覆盖

https://www.tmojm.com创业加盟网

四、使用更改外联的css文件,从而改变元素的css

<link href="css1.css" rel="stylesheet" type="text/css" />
function changeStyle4() {
   var obj = document.getElementById("css");
   obj.setAttribute("href","css2.css");
 }

实现整体页面换肤的最佳方案

五、通过js更新这个元素的class属性

function addClass(element,value) {
    if (!element.className) {
        element.className = value;
    } else {
        newClassName = element.className;
        newClassName += " "; //这句代码追加的类名分开
        newClassName += value;
        element.className = newClassName;
    }
}