使用Javascript查找页面或页面视图的背景颜色

a4a*_*pan 4 html javascript css

我是一个有复杂问题的 JS 新手。我想找出任何网页的背景颜色。问题是有时它是在 body 标签中定义的,有时是在内联或外部 css 中定义的,在一个更复杂的例子中,一些网站没有在 body 上设置背景颜色(在某些情况下它们也是如此),而是放置了一个 DIV 来覆盖整个页面。所以我的问题是我想找出整个视图的背景颜色。有人可以帮帮我吗。

我已经尝试在发布这个问题之前进行搜索,但我只找到了获取主体颜色而不是整个视图背景的方法,因此请不要将其标记为重复。

提前致谢

Nic*_*k R 5

这是一个开始。这将得到background-colour了的<body>标签,无论是inline中或在外部stylesheet

function getBackground() {

    var getBody = document.getElementsByTagName("body")[0]
    var prop = window.getComputedStyle(getBody).getPropertyValue("background-color");

    if (prop === "transparent") {
        console.log("No background colour set")
    } else {
        console.log(prop);
    }
}

getBackground();
Run Code Online (Sandbox Code Playgroud)

JSFiddle 演示


小智 2

你可以使用纯javascript或jquery来实现你想要的。要做你想做的事,你可以使用这个功能

按标记名查找:

function getBackgroundByTagName(tag){
    var color =  $(tag).css('background-color');
    console.log(color);
}
Run Code Online (Sandbox Code Playgroud)

按类别查找:

function getBackgroundByClassName(classname){
    var color =  $('.'+classname).css('background-color');
    console.log(color);
}
Run Code Online (Sandbox Code Playgroud)

按id查找

function getBackgroundById(idofelement){
    var color =  $('.'+idofelement).css('background-color');
    console.log(color);
}
Run Code Online (Sandbox Code Playgroud)

您所需要做的就是运行任何函数,它将在控制台中显示颜色。