我基本上试图将元素的所有当前 css 属性保存在本地 var/array 中。
我试过 :
el.css();
and
el.css("*");
没有运气。
有什么快速的技巧吗?
-
demo: http://so.lucafilosofi.com/save-all-css-properties-of-element-using-jquery 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 = {};
$('<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>
and <link>
-
NOTE:这个解决方案需要使用这个插件https://github.com/moagrius/copycss https://github.com/moagrius/copycss
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)