如何动态修改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;
}
}