使用jquery保存元素的所有css属性
我基本上试图在本地var / array中保存元素的所有当前css属性。 我试过了 :
el.css();
和
el.css("*");
没有运气。
有没有快速提示呢?
- 演示: http : //so.lucafilosofi.com/save-all-css-properties-of-element-using-jquery
我已经更新了答案,更有效率,也提供了一个工作演示……
$(function() { // element tag example p and element id function get_element_style(element, id){ var css = {}; $('').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
样式,也有
和
- 注意:此解决方案需要使用此插件https://github.com/moagrius/copycss
你的意思是:
el.attr('style');
?
此外,您可能会对此感兴趣:
如何使用jQuery获取所有元素css属性的列表?