Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:获取类型化CSS值而不是计算值_Javascript_Css - Fatal编程技术网

Javascript:获取类型化CSS值而不是计算值

Javascript:获取类型化CSS值而不是计算值,javascript,css,Javascript,Css,显然,这是可以做到的,因为Firebug做到了,但我不确定他们是否在CSS声明上做了大量处理,或者DOM中是否有我遗漏的东西,但我想抓住元素或样式表的类型化样式,而不是DOM似乎要返回的cssText 边界就是一个例子。如果我的元素有边框:1px solid#000,DOM会返回给我 border-top-width:1px; border-right-width-value:; border-right-width-ltr-source:; border-right-width-rtl-sou

显然,这是可以做到的,因为Firebug做到了,但我不确定他们是否在CSS声明上做了大量处理,或者DOM中是否有我遗漏的东西,但我想抓住元素或样式表的类型化样式,而不是DOM似乎要返回的cssText

边界就是一个例子。如果我的元素有边框:1px solid#000,DOM会返回给我

border-top-width:1px;
border-right-width-value:;
border-right-width-ltr-source:;
border-right-width-rtl-source:;
border-bottom-width:1px;
border-left-width-value:;
etc.....
我真正想要的是我输入的东西,它是border:1px solid#000

如果有人对此有任何想法,我们将不胜感激

下面是CSS的DOM2规范:这是我不确定是否丢失了什么,是否应该去其他地方看看

这是我写的代码,似乎工作得很好,但正如我所说,现在它只返回浏览器渲染样式和计算样式。 不需要看代码。我只是想从整体上寻求建议。我只是发布了一些代码来帮助一些人,如果他们正在寻找一些开始

bg.fn.cssNavigator = function(){
var el = bg(this)[0]; //Only take first element.
var context = bg(this).context; //What document are we looking at?
if(!document.getElementById('plugins-bg_css_navigator-wrapper')){
    jQuery("body").append('<div id="plugins-bg_css_navigator-wrapper"><div id="plugins-bg_css_navigator-css"></div></div>');
}
var t = '';
t = t+'<div>Inline Style</div><div>';
if(el.style){
    var els = el.style;
    for(var i=0; i<els.length; i++){
        var s = els[i];
        t = t+s+':'
        t = t+window.getComputedStyle(el, null).getPropertyValue(s)+';<br />';      }
}
t = t+'</div>';
t = t+'<div>Computed Style</div><div>';
var cs = window.getComputedStyle(el, null);
for(var i = 0; i<cs.length; i++){
    //if(typeof cs[i] === "function"){ break; }
    t = t+cs[i]+':'+cs.getPropertyValue(cs[i])+'<br />';    
}
t = t+'</div>';
var ssc = context.styleSheets;
for( var i in ssc ){
    var isTab = false;
    if(undefined !== jQuery(ssc[i].ownerNode).attr("href")){
        t = t+'<div>'+jQuery(ssc[i].ownerNode).attr("href")+'</div>';
        isTab = true;
    }else if(undefined !== ssc[i].ownerNode){
        t = t+'<div>Current File</div>';
        isTab = true;
    }
    if(isTab){
        t = t+'<div stylesheet="'+i+'">';
        try{
            var sscr = ssc[i].cssRules;
            for( var j in sscr ){
                if(undefined !== ssc[i].cssRules[j].cssText){
                    t = t+ssc[i].cssRules[j].cssText+'<br />';
                }
            }
        //If we get an error, then all the stylesheets are not loaded, let's exit and try again in 100 milliseconds
        }catch(e){ setTimeout( function(){ bg(el, context).cssNavigator(); }, 100 ); return false; }
        t = t+'</div>';
    }
}
jQuery("#plugins-bg_css_navigator-css").html(t);
};
bg.fn.cssNavigator=函数(){
var el=bg(this)[0];//只取第一个元素。
var context=bg(this).context;//我们在看什么文档?
if(!document.getElementById('plugins-bg\u css\u navigator-wrapper')){
jQuery(“正文”)。附加(“”);
}
var t='';
t=t+“内联样式”;
如果(el.style){
var-els=el.style;

对于(var i=0;i我实际上找到了我想要的答案

cssText是我一直在寻找的。这里注明:

它不起作用的原因是,我在加载页面时尝试了它,但它在实际呈现发生之前就被触发了,所以它返回未定义

我正在做一些主要的修改,并在页面完全加载完毕后进行了尝试,结果它出现了


耶!

这是
style
属性,而不是CSS文件中编写的内容。