日期:2014-05-16  浏览次数:20421 次

如何使用javascript动态创建css的class
正在写个组件,其中效果需要两个css class配合,(我提供的样式是默认样式)又不想另外写在一个css文件中,想一个js搞定,所以想用js建class,有什么办法么?

------解决方案--------------------
obj.style.backgroundColor="#000066";
obj.style.color="#FFFFFF";

------解决方案--------------------
不能创建CLASS
可以先写好CSS的CLASS
然后document.styleSheets[0].rules[0].className = "CALSS名称";
------解决方案--------------------
一:你可以动态的写css 只有你愿意 写成<style>.red{....}</style> 然后添加到head里面
二:给你几个通用的函数 也许对你用
JScript code

function resetCSS(elem,prop){
    var old={};
    for(var i in prop){
        old[i]=elem.style[i];
        elem.style[i]=prop[i];
    }
    return old;
}
function restoreCSS(elem,prop){
    for(var i in prop){
        elem.style[i]=prop[i];
    }
}
function addClass(elem,name){
    elem.className=name;
}

function getStyle(elem,name){//获取元素的样式
    if(elem.style[name])
        return elem.style[name];
    else if(elem.currentStyle)
        return elem.currentStyle[name];
    else if(document.defaultView&&document.defaultView.getComputedStyle){
        name=name.replace(/([A-Z])/g,"-$1");
        name=name.toLowerCase();
        var s=document.defaultView.getComputedStyle(elem,"");
        return s && s.getPropertyValue(name);
    }
    else
        return null;
}

------解决方案--------------------
呃,如果你要在别的页面也调用这个样式的话,那就有些麻烦了
如果只是在当前页面使用,那么还是可以使用js“创建”某些class
比如你可以定义一个函数,设置某个“class”的样式,然后需要调用该样式的标签,就直接调用该js函数即可