Vous trouverez ci-dessous un extrait de code pour définir le paramètre important de l'attribut style à l'aide de jquery.
$.fn.setFixedStyle = function(styles){
var s = $(this).attr("style");
s = "{"+s.replace(/;/g,",").replace(/'|"/g,"");
s = s.substring(0,s.length-1)+"}";
s = s.replace(/,/g,"\",\"").replace(/{/g,"{\"").replace(/}/g,"\"}").replace(/:/g,"\":\"");
var stOb = JSON.parse(s),st;
if(!styles){
$.each(stOb,function(k,v){
stOb[k] +=" !important";
});
}
else{
$.each(styles,function(k,v){
if(v.length>0){
stOb[k] = v+" !important";
}else{
stOb[k] += " !important";
}
});
}
var ns = JSON.stringify(stOb);
$(this).attr("style",ns.replace(/"|{|}/g,"").replace(/,/g,";"));
};
L'utilisation est assez simple: il suffit de passer un objet contenant tous les attributs que vous souhaitez définir comme importants.
$("#i1").setFixedStyle({"width":"50px","height":""});
Il existe deux options supplémentaires.
1.Pour ajouter simplement un paramètre important à l'attribut de style déjà présent, passez une chaîne vide.
2. Pour ajouter des paramètres importants pour tous les attributs présents, ne passez rien. Cela définira tous les attributs comme importants.
Le voici en direct en action. http://codepen.io/agaase/pen/nkvjr