JS (javaScript)中获取CSS背景颜色的问题

html-css021

JS (javaScript)中获取CSS背景颜色的问题,第1张

<!DOCTYPE html>

<html>

<head>

<title>getHexColor js/jQuery 获得十六进制颜色</title>

<meta charset="utf-8" />

<script type="text/javascript">

function getHexBgColor(){

var str = []

var rgb = document.getElementById('color').style.backgroundColor.split('(')

for(var k = 0k <3k++){

str[k] = parseInt(rgb[1].split(',')[k]).toString(16)

}

str = '#'+str[0]+str[1]+str[2]

document.getElementById('color').innerHTML = str

}

function getHexColor(){

var str = []

var rgb = document.getElementById('color').style.color.split('(')

for(var k = 0k <3k++){

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">

#color{

width: 200px

height: 200px

line-height: 200px

text-align: center

}

</style>

</head>

<body>

<div style="color: #88ee22background-color: #ef8989" id="color"></div>

<input onclick="getHexBgColor()" type="button" value="获得背景色" />

<input onclick="getHexColor()" type="button" value="获得字体颜色" />

</body>

</html>

点击“获得背景色”按钮,会调用getHexBgColor()方法获取css的背景色。

使用css控制页面有4种方式,分别为行内样式(内联样式)、内嵌式、链接式、导入式。

行内样式(内联样式)即写在html标签中的style属性中,如<div style="width:100pxheight:100px"></div>

内嵌样式即写在style标签中,例如<style type="text/css">div{width:100pxheight:100px}</style>

链接式即为用link标签引入css文件,例如<link href="test.css" type="text/css" rel="stylesheet" />

导入式即为用import引入css文件,例如@import url("test.css")

如果想用javascript获取一个元素的样式信息,首先想到的应该是元素的style属性。但是元素的style属性仅仅代表了元素的内联样式,如果一个元素的部分样式信息写在内联样式中,一部分写在外部的css文件中,通过style属性是不能获取到元素的完整样式信息的。因此,需要使用元素的计算样式才获取元素的样式信息。