html - 有没有办法获取键入的 CSS 而不是计算样式?

标签 html css

我试图获取 HTML 元素的 CSS 规则。

我已经在这里找到了答案:Can jQuery get all CSS styles associated with an element?

问题是给定的答案不起作用,正如评论中所述;它给我 Uncaught Error: Syntax error, unrecognized expression: button.ui-button::-moz-focus-inner

该代码中的问题是它将每个 CSS 规则选择器传递给 jquery.is() 方法,这可能无法识别“every”CSS选择器是可以写的,所以在复杂的规则上会报错。

我四处搜索并查看了标准,但我的想法已经用完了。

还有另一个答案给出了计算样式,这就是我目前正在使用的样式,但它给了我很多无用的属性,这些属性正在破坏我的结果。

感谢任何帮助!

最佳答案

这样解决的:我修改了Can jQuery get all CSS styles associated with an element?的代码 到这个:

function css(a){
   var o = {};
   var rules = window.getMatchedCSSRules(a.get(0));
   for(var r in rules) {
         o = $.extend(o, css2json(rules[r].style), css2json(a.attr('style')));
   }
   return o;
}




function css2json(css){
        var s = {};
        if(!css) return s;
        if(css instanceof CSSStyleDeclaration) {
            for(var i in css) {
                if((css[i]).toLowerCase) {
                    s[(css[i]).toLowerCase()] = (css[css[i]]);
                }
            }
        } else if(typeof css == "string") {
            css = css.split("; ");          
            for (var i in css) {
                var l = css[i].split(": ");
                s[l[0].toLowerCase()] = (l[1]);
            };
        }
        return s;
    }

关于html - 有没有办法获取键入的 CSS 而不是计算样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16798085/

相关文章:

html - 用于曲线气泡聊天的 CSS 样式

javascript - 在悬停时将按钮覆盖添加到链接图像

html - CSS column-count 选择第一列和最后一列

javascript - 淡入鼠标悬停 Jquery

html - 如何将图像添加到自定义 CSS 按钮

JavaScript改变两侧的显示样式

javascript - 根据选择框选择将预定义文本添加到文本区域

javascript - jquery动态传值的方法

css - 瓦丁。组合框响应弹出窗口

使用 Dreamweaver 时 HTML 按钮不响应 CSS