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

标签 jquery css-selectors

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

el.css();

el.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');

    });

获取元素样式时的问题是,您不仅可以获得设置值,还可以获得默认值。通过这段代码,我试图获取元素的设置值。这项工作都与 inline 一起工作风格以及 <style><link>

关于jquery - 使用jquery保存元素的所有css属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2758286/

相关文章:

javascript - jQuery @变量?

javascript - jQuery 请求和 d3.js 之间的范围问题

javascript - 如何在javascript中将日期一种格式转换为另一种格式?

selenium - InvalidSelectorException 使用 CSS 选择器定位 "data-"属性标记的元素

selenium - 在 IE 中找不到元素,但在 FF 中工作正常

javascript - 如何使命令在浏览器控制台中循环运行

jquery-hover - 如何防止 jQuery .hover 函数同时影响所有图像?

javascript - 如何重用对象文字

javascript - 如何在不影响其他元素的情况下扩展一个DIV

CSS:如果元素显示:无,则保持对象的 float 和第 n 个子对象清除