0
すべてのRGBを16進数に変換する必要があります。すべてのRGBをスタイル属性から置換してください
まず、すべての要素をフィルタリングして、style属性を持つ要素を見つけます。 font-family:Arial; background:rgb(255, 0, 0); line-height:10px; color:#fff; border-right-color:rgba(34,64,32,0.5);
どのようにすることができます:任意のRGB色がある場合、私はコールする
function rgbToHex(rgb){
rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
if (rgb == null) {
return "";
} else {
return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
}
}
function hex(x) {
var hexDigits = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f");
return isNaN(x) ? "00" : hexDigits[(x - x % 16)/16] + hexDigits[x % 16];
}
機能は、スタイルの出力のrgbToHex($(this).css('color'));
例であるHEXに変換するために必要以上
wrapper.find('*[style]').filter(function(){
console.log($(this).attr('style');
});
新しい値で出力を保存できるようにするには、全体のスタイルをフィルタリングしてRGBのみを取り込み、16進数に変換しますか?
は、なぜあなたはこれをやっていますか?それを元に戻すことはほとんど意味がありません。 – epascarello
私は戻っていない、私はすべてのCSSを取得している、それは後でそれを使用するためにjsonに保存するよりも16進数で置き換えます – Adrian
スタイルを読んで、パターンを一致させるためにreg expを取得し、 – epascarello