JS修改css方法

// 1
var obj = document.getElementById(“objA”);
obj.style.backgroundColor= “black”;

// 2
var obj = document.getElementById(“objB”);
obj.style.cssText = “background-color:black; display:block;color:White”;

// 3
var obj = document.getElementById(“objC”);
//obj.className = “class”;
obj.setAttribute(“class”, “change”);

// 4
// 使用更改外联的css文件,从而改变元素的css,是实现整体页面换肤的最佳方案
//
var obj = document.getElementById(“css”);
obj.setAttribute(“href”,”css2.css”);

// 引入外部css
function loadStyle(url){
var link = document.createElement(‘link’);
link.type = ‘text/css’;
link.rel = ‘stylesheet’;
link.href = url;
var head = document.getElementsByTagName(‘head’)[0];
head.appendChild(link);
}
loadStyle(‘test.css’);

// 增加css片段
function addCSS(cssText){
var style = document.createElement(‘style’), //创建一个style元素
head = document.head || document.getElementsByTagName(‘head’)[0]; //获取head元素
style.type = ‘text/css’; //这里必须显示设置style元素的type属性为text/css,否则在ie中不起作用
if(style.styleSheet){ //IE
var func = function(){
try{ //防止IE中stylesheet数量超过限制而发生错误
style.styleSheet.cssText = cssText;
}catch(e){

        }
    }
    //如果当前styleSheet还不能用,则放到异步中则行
    if(style.styleSheet.disabled){
        setTimeout(func,10);
    }else{
        func();
    }
}else{ //w3c
    //w3c浏览器中只要创建文本节点插入到style元素中就行了
    var textNode = document.createTextNode(cssText);
    style.appendChild(textNode);
}
head.appendChild(style); //把创建的style元素插入到head中    

}

//使用
addCSS(‘#demo{ height: 30px; background:#f00;}’);

你可能感兴趣的:(js/css/html)