使用jquery保存元素的所有css属性

使用jquery保存元素的所有css属性,jquery,css-selectors,Jquery,Css Selectors,我基本上是试图将元素的所有当前css属性保存在本地var/数组中。 我试过: el.css(); 及 没有运气 有什么快速提示吗?你的意思是: el.attr('style'); ? 此外,您可能会感兴趣: 演示: 我已经更新了答案,以更有效地还提供了一个工作演示 $(function() { // element tag example p and element id function get_element_style(element, i

我基本上是试图将元素的所有当前css属性保存在本地var/数组中。 我试过:

el.css();

没有运气

有什么快速提示吗?

你的意思是:

el.attr('style');
?

此外,您可能会感兴趣:

  • 演示:
我已经更新了答案,以更有效地还提供了一个工作演示

    $(function() {
        // element tag example p and element id
        function get_element_style(element, id){
            var css = {};
            $('<iframe id="get-style-'+id+'" style="display:none"/>').appendTo('body');
            $('#get-style-'+id).contents().find('body').append('</'+element+'>');
            $el = $('#get-style-'+id).contents().find('body').find(element);
            var defaults_css = $el.getStyles();
            $('#get-style-'+id).remove();
            var element_css = $('#'+id).getStyles();
            for (var i in element_css) {
                if (element_css[i] !== defaults_css[i]) {
                    css[i] = element_css[i];
                }
            } 
            return css;
        }

        var properties = get_element_style('p', 'test-p');

    });
$(函数(){
//元素标记示例p和元素id
函数获取元素样式(元素,id){
var css={};
$('')。附于('正文');
$('#get style-'+id).contents().find('body').append('');
$el=$('#get style-'+id).contents().find('body').find(元素);
var defaults_css=$el.getStyles();
$(“#获取样式-”+id).remove();
var element_css=$('#'+id).getStyles();
for(元素_css中的变量i){
if(element_css[i]!==默认值_css[i]){
css[i]=元素_css[i];
}
} 
返回css;
}
var属性=获取元素样式('p','test-p');
});
获取元素样式时的问题是,您不仅获得设置的值,还获得默认值。通过这段代码,我试图只获取元素的设置值。这既适用于
内联
样式,也适用于

  • 注意:此解决方案需要使用此插件

你能读懂我的想法吗?我只是想问这个问题,因为我的css悬停问题!WOWDoesn您的代码不是假设所有CSS样式都是内联执行的还是通过JS执行的吗?这将只获得内联指定的CSS属性。来自外部CSS文件或
标记的任何内容都不会显示。
    $(function() {
        // element tag example p and element id
        function get_element_style(element, id){
            var css = {};
            $('<iframe id="get-style-'+id+'" style="display:none"/>').appendTo('body');
            $('#get-style-'+id).contents().find('body').append('</'+element+'>');
            $el = $('#get-style-'+id).contents().find('body').find(element);
            var defaults_css = $el.getStyles();
            $('#get-style-'+id).remove();
            var element_css = $('#'+id).getStyles();
            for (var i in element_css) {
                if (element_css[i] !== defaults_css[i]) {
                    css[i] = element_css[i];
                }
            } 
            return css;
        }

        var properties = get_element_style('p', 'test-p');

    });