以下は、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":""});
2つの追加オプションがあります。
1.すでに存在するスタイル属性に重要なパラメータを追加するには、空の文字列を渡します。
2.存在するすべての属性に重要なパラメータを追加するには、何も渡さないでください。すべての属性を重要として設定します。
これが実際に動作しています。http://codepen.io/agaase/pen/nkvjr