>웹 프론트엔드 >JS 튜토리얼 >jQuery에서 RGB를 16진수 색상 값으로 변환하는 방법은 무엇입니까?

jQuery에서 RGB를 16진수 색상 값으로 변환하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-17 00:05:25964검색

How to Convert RGB to Hex Color Values in jQuery?

jQuery의 RGB 색상에서 16진수 색상 값 얻기

문제:

jQuery에서 css() 메서드는 다음을 얻습니다. 요소의 배경색을 rgb(r, g, b). 그러나 일반적인 요구 사항은 #FFFFFF와 같은 동등한 16진수 색상 값을 검색하는 것입니다.

해결책:

RGB에서 16진수 값을 얻는 전통적인 방법은 다음과 같습니다. 수동 변환은 지루할 수 있습니다. 다행스럽게도 간결한 한 줄 함수가 이를 달성합니다.

const rgba2hex = (rgba) => `#${rgba.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+\.{0,1}\d*))?\)$/).slice(1).map((n, i) => (i === 3 ? Math.round(parseFloat(n) * 255) : parseFloat(n)).toString(16).padStart(2, '0').replace('NaN', '')).join('')}`

이 함수는 RGB 및 RGBA 형식을 모두 처리하여 다양성을 보장합니다.

사용 예:

const element = $('#selector');
const rgbColor = element.css('backgroundColor');
const hexColor = rgba2hex(rgbColor);

Modern에 대한 업데이트된 답변 브라우저:

원래 솔루션 이후 ECMAScript 2015 기능에 대한 브라우저 지원이 크게 향상되었습니다. 이를 통해 더욱 간편하고 간결하게 RGB를 16진수로 변환할 수 있습니다.

const rgb2hex = (rgb) => `#${rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/).slice(1).map(n => parseInt(n, 10).toString(16).padStart(2, '0')).join('')}`

이 기능은 특히 RGB 색상 형식에 맞춰 유사한 기능을 제공합니다.

위 내용은 jQuery에서 RGB를 16진수 색상 값으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.