Ниже приведен фрагмент кода для установки важного параметра для атрибута стиля с помощью 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,";"));
};
Использование довольно просто. Просто передайте объект, содержащий все атрибуты, которые вы хотите установить как важные.
$("#i1").setFixedStyle({"width":"50px","height":""});
Есть две дополнительные опции.
1.Чтобы просто добавить важный параметр к уже существующему атрибуту стиля, передайте пустую строку.
2.Чтобы добавить важный параметр для всех присутствующих атрибутов, ничего не передавайте. Все атрибуты будут установлены как важные.
Вот оно в действии. http://codepen.io/agaase/pen/nkvjr