1:rules与cssrules区别:
复制代码 代码如下:
function addcssrule(css,key,value){
//var css = document.stylesheets[document.stylesheets.length-1];
if(navigator.useragent.indexof(firefox)>0 )
{
css.insertrule(key+{+value+}, css.cssrules.length)
}
else
{
css.addrules(key,value);
}
}
function removecssrule(key){
for(var i = 0; i var css = document.stylesheets[i];
navigator.useragent.indexof(firefox)>0 ?
(function(){
for(var j = 0; j if(css.cssrules[j].selectortext==key){
css.deleterule(j);
}
}
})() :
(css.removerule(key)) ;
}
}
我是这样加了一个方法解决这个问题的。。
2:火狐和ie中获得背景色问题(getcomputedstyle与currentstyle的区别)
复制代码 代码如下:
function getcurrentstyle(oelement) {
if(navigator.useragent.indexof(firefox)>0 ){
var rgbstr=document.defaultview.getcomputedstyle(oelement,null).backgroundcolor;
var strr;
if(rgbstr.tostring().indexof('(')>0 && rgbstr.tostring().indexof(')')>0)
{
strr= rgbstr.tostring().substring(parseint(rgbstr.tostring().indexof('(')+1),rgbstr.tostring().indexof(')')).split(',');
}
return tohexcolor(strr[0],strr[1],strr[2]).substring(1);
}
else{
return oelement.currentstyle.backgroundcolor.trim().substring(1);
}
}
复制代码 代码如下:
function tohexcolor(r,g,b){
var hex='#';
var hexstr = '0123456789abcdef';
low = r % 16;
high = (r - low)/16;
hex+=hexstr.charat(high) + hexstr.charat(low);
low = g % 16;
high = (g - low)/16;
hex+=hexstr.charat(high) + hexstr.charat(low);
low = b % 16;
high = (b - low)/16;
hex+=hexstr.charat(high) + hexstr.charat(low);
return hex;
}
记住 火狐获得的rgbstr是rgb的因此我还要转成16进制的。我也整理了一个很笨的转换方法再上面望打击拍砖!