Webページの背景色とフォント色を取得するには、メソッドは次のとおりです。
考え:色属性を取得する価値があるのはRGBの色であり、これは私たちが望むものではないので、RGBの色を16進状の色に変更し、最初にRGB色を取得する必要があります。
コードコピーは次のとおりです。
var rgb = document.getElementById( 'color')。style.backgroundcolor;
フォーマットは次のように取得されます。RGB(225、22、23)。
コードコピーは次のとおりです。
var rgb = rgb.split( '(')[1]; //分割後に長さ2の配列
次に、(225、22、23)文字列を分割します(注:数値のみを変換できるので、Parseintを使用してタイプをキャストしてください!):
コードコピーは次のとおりです。
for(var k = 0; k <3; k ++){
str [k] = parseint(rgb .split( '、')[k])。toString(16); // str arrayは分割データを保存します
}
最終的な組み合わせ:
コードコピーは次のとおりです。
str = '#'+str [0]+str [1]+str [2];
コード全体が次のとおりです。
コードコピーは次のとおりです。
<!doctype html>
<html>
<head>
<title> gethexcolor js/jquery get hex color </title>
<Meta charset = "utf-8" />
<script type = "text/javascript">
関数gethexbgcolor(){
var str = [];
var rgb = document.getElementById( 'color')。style.backgroundcolor.split( '(');
for(var k = 0; k <3; k ++){
str [k] = parseint(rgb [1] .split( '、')[k])。toString(16);
}
str = '#'+str [0]+str [1]+str [2];
document.getElementById( 'color')。innerhtml = str;
}
関数gethexcolor(){
var str = [];
var rgb = document.getElementById( 'color')。style.color.split( '(');
for(var k = 0; k <3; k ++){
str [k] = parseint(rgb [1] .split( '、')[k])。toString(16);
}
str = '#'+str [0]+str [1]+str [2];
document.getElementById( 'color')。innerhtml = str;
}
</script>
<style type = "text/css">
#色{
幅:200px;
高さ:200px;
ラインハイト:200px;
テキストアライグ:センター;
}
</style>
</head>
<body>
<div style = "color:#88ee22; background-color:#ef8989;" = "color"> </div>
<入力onclick = "gethexbgcolor();" type = "value =" getBackground " />
<入力onclick = "gethexcolor();" = "button =" font color " />
</body>
</html>