Deux ans de retard, mais j'ai la solution que vous cherchez. Pas l'intention de prendre le crédit de l' auteur original, voici un plugin que j'ai trouvé fonctionne exceptionnellement bien pour ce que vous avez besoin, mais obtient tous les styles possibles dans tous les navigateurs, même IE.
Avertissement: Ce code génère beaucoup de sortie, et doivent être utilisés avec parcimonie. Il n'a pas seulement des copies de tous les types de propriétés CSS, mais aussi tous les fournisseurs de propriétés CSS pour que le navigateur.
jquery.getStyleObject.js:
/*
* getStyleObject Plugin for jQuery JavaScript Library
* From: http://upshots.org/?p=112
*/
(function($){
$.fn.getStyleObject = function(){
var dom = this.get(0);
var style;
var returns = {};
if(window.getComputedStyle){
var camelize = function(a,b){
return b.toUpperCase();
};
style = window.getComputedStyle(dom, null);
for(var i = 0, l = style.length; i < l; i++){
var prop = style[i];
var camel = prop.replace(/\-([a-z])/g, camelize);
var val = style.getPropertyValue(prop);
returns[camel] = val;
};
return returns;
};
if(style = dom.currentStyle){
for(var prop in style){
returns[prop] = style[prop];
};
return returns;
};
return this.css();
}
})(jQuery);
Utilisation de base est assez simple, mais il a écrit une fonction pour que ainsi:
$.fn.copyCSS = function(source){
var styles = $(source).getStyleObject();
this.css(styles);
}
Espérons que cela aide.