Gdyby kolor był zapisany jako styl inline, wówczas mógłbyś pobrać zawartość atrybutu [style] i z niego wyciągnąć. Jeśli jednak jest w zewnętrznym arkuszu, to zaczyna się robić mniej ciekawie.
Na szczęście wartości w RGB można łatwo pociachać regexem i w miarę prosty sposób przekształcić na liczby szesnastkowe. Coś typu:
console.log( convertToHex( 'rgb( 255, 0, 24 )' ) );
function convertToHex( rgbValue ) {
const rgbRegex = /^rgb\(\s*(\d+),\s*(\d+),\s*(\d+)/i;
const values = rgbValue.match( rgbRegex ).slice( 1 );
return values.reduce( ( hexString, element ) => {
const hex = Number( element ).toString( 16 ).padStart( 2, '0' );
return `${ hexString }${ hex }`;
}, '#' );
}
Ogólnie możesz sobie zobaczyć, jak robimy konwersję w CKE4.