<html> <head> <title>得到元素真實的背景顏色 by Longbill</title> <style> .classname {background-color:#ff99dd;} #div3 {background-color:#d8bfd8;} div {background-color:#87cefa;border:1px solid #333333;margin:10px;padding:4px;} body {background-color:#bed742;} #div4 {background-color:transparent;} </style> </head> <body> <span >得到元素真實的背景顏色 <font >By Longbill</font></span> <div id='div1'>div1 直接通過div標籤定義背景色(#87cefa)</div> <div id='div2' class=classname>div2 通過class name定義背景色(#ff99dd)</div> <div id='div3'>div3 通過id定義背景色(#d8bfd8)</div> <div id='div4'>div4 這是一個透明的div,背景色應為上一個元素的顏色(#bed742)</div> <button onclick="go()">getBg()</button> <script> function getBg(element) {//author: Longbill (www.longbill.cn) if (typeof element == "string") element = document.getElementById(element); if (!element) return; cssProperty = "backgroundColor"; mozillaEquivalentCSS = "background-color"; if (element.currentStyle) var actualColor = element.currentStyle[cssProperty]; else { var cs = document.defaultView.getComputedStyle(element, null); var actualColor = cs.getPropertyValue(mozillaEquivalentCSS); } if (actualColor == "transparent" && element.parentNode) return arguments.callee(element.parentNode); if (actualColor == null) return "#ffffff"; else return actualColor; } function go() { for(var i=1;i<=4;i++) eval("alert('div"+i+":'+getBg('div"+i+"'));"); } </script> </body> </html>
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]