如何使用Javascript或jQuery获取背景颜色?

时间:2012-05-30 11:38:07

标签: javascript jquery css colors

我有一个iframe,如果背景为黑色,我想设置颜色为白色,反之亦然。我试图通过以下方式获得背景颜色:

$("#id").css('background')

$("#id").css('background-color')

$("#id").css('backgroundColor')

但它们都是透明的。

请帮帮我。

2 个答案:

答案 0 :(得分:2)

您需要查看iframe正文的背景,而不是<iframe>元素本身的背景。

var bgcolor = $(document.getElementById('iframeId').contentWindow.document.body).css('background-color');

(如果iframe内容来自与您不同的域,则无效)

答案 1 :(得分:1)

我认为你可以走过父母,直到你得到一个不透明的背景颜色:

var elm = $("#id")[0],
    bg;

do {

    bg = $(elm).css( "backgroundColor" );
    elm = elm.parentNode;
} while( elm && bg.toLowerCase() === "transparent" );


console.log( bg );