我基本上试图在本地var / array中保存元素的所有当前css属性。 我试过了:
el.css();
和
el.css("*");
没有运气。
有没有快速提示呢?
答案 0 :(得分:6)
我已经更新了答案,以提供更有效率的工作演示......
$(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>
- 注意:此解决方案需要使用此插件https://github.com/moagrius/copycss
答案 1 :(得分:3)
你的意思是:
el.attr('style');
此外,您可能会对此感兴趣:
How can I get list of all element css attributes with jQuery?