Js如何动态修改css样式

摘要:使用obj.className来修改样式表的类名,使用obj.style.cssTest来修改嵌入式的css,使用obj.className来修改样式表的类名,使用更改外联的css文件,从而改变元素的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");
}

优点:不会覆盖


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

<link href="css1.css" rel="stylesheet" type="text/css" id="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;
    }
}

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_9445