Poniżej znajduje się fragment kodu służący do ustawiania ważnego parametru atrybutu stylu za pomocą 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,";"));
};
Użycie jest całkiem proste - po prostu przekaż obiekt zawierający wszystkie atrybuty, które chcesz ustawić jako ważne.
$("#i1").setFixedStyle({"width":"50px","height":""});
Istnieją dwie dodatkowe opcje.
Aby po prostu dodać ważny parametr do już istniejącego atrybutu stylu, przekaż pusty ciąg.
2. Aby dodać ważny parametr do wszystkich obecnych atrybutów, nie przekazuj niczego. Ustawi wszystkie atrybuty jako ważne.
Oto jest na żywo w akcji. http://codepen.io/agaase/pen/nkvjr