得到一些顶级元素的HTML页面的(背景)颜色

时间:2014-08-05 07:15:34

标签: javascript html css

首先,document.body.style.backgroundColor在我的情况下没有返回正确的颜色(它甚至没有设置),因为页面都填充了div。

是否有某种方法可以获得顶部像素行中某些像素的颜色?或者其他一些通用方法可以获得某些顶级(或支配)元素的背景颜色?解决方案不一定非常精确,只能主要工作(特别是我的情况:)。

一种方法,对我目前的情况有效,是:

$("div").css("background-color")

但是,我对它并不完全满意,因为它有太多的例外,比如它需要JQuery,并期望这会返回一个相关的div,并且div有一个背景颜色集。

1 个答案:

答案 0 :(得分:3)

像这样的东西应该找到具有背景颜色的身体的第一个子元素 请注意,它不会搜索嵌套元素。

var el = document.querySelector('body > *'), color = null;

while ( el && !color) {
    color = el && el.style ? el.style.backgroundColor : null;
    el = el.nextSibling;
}

FIDDLE