我基本上试图将元素的所有当前 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>
- NOTE: this solution require the use of this plugin https://github.com/moagrius/copycss
关于jquery - 使用jquery保存元素的所有css属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2758286/