0

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

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

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

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

但它们都返回透明。

请帮我。

4

2 回答 2

2

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

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

(如果 iframe 内容来自与您不同的域,则不起作用)

于 2012-05-30T11:46:16.853 回答
1

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

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

do {

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


console.log( bg );
于 2012-05-30T11:47:38.980 回答