Javascript JS/CSS:第二类的背景色

Javascript JS/CSS:第二类的背景色,javascript,css,Javascript,Css,我正在抓取以下元素,如: let box = document.querySelector('.zero'); 当我检查javascript中的背景色时,它显示为”: 如果我抓取元素节点,为什么它不将背景色列为#DCDCDC,就像我在CSS中设置的那样?我假设这是由于元素上有多个类,但不确定原因 代码: .tic-tac-box{ 背景色:#DCDC; 边界半径:5px; 边框:2倍纯白; } 它不记录颜色的原因不是因为有多个类,而是因为DOM API是如何工作的,而且Javascript不

我正在抓取以下元素,如:

let box = document.querySelector('.zero');
当我检查javascript中的背景色时,它显示为

如果我抓取元素节点,为什么它不将背景色列为
#DCDCDC
,就像我在CSS中设置的那样?我假设这是由于元素上有多个类,但不确定原因

代码:


.tic-tac-box{
背景色:#DCDC;
边界半径:5px;
边框:2倍纯白;
}

它不记录颜色的原因不是因为有多个类,而是因为DOM API是如何工作的,而且Javascript不知道链接的CSS发生了什么。如果要记录元素的当前样式,则必须使用以下方法:


tldr:“style属性仅检索内联CSS值,而getComputedStyle检索计算的CSS值。”您会注意到,当您使用该语法设置颜色时,它也会附加内联样式。

很可能需要改为使用
getComputedStyle
。由于javascript寻找的是内联样式,而不是应用的css。比如@imvain2说您需要
getcomputedstyle
元素.style
,是您放入
中的内容,或者您可能使用
setAttribute('style
,'')等窗口设置的内容。getcomputedstyle(框).backgroundColor就可以了GetComputedStyle为十六进制值提供rgb颜色,可能不是预期的结果?我删除了我的答案,这里有一个更好的答案来说明如何获得CSS值而不是计算值:
 box.style.backgroundColor    // ""
<div class="tic-tac-box zero">
</div>


.tic-tac-box {
    background-color: #DCDCDC;
    border-radius: 5px;
    border: 2px solid white;
}
getComputedStyle(box).backgroundColor); // rgb(220, 220, 220)