getPropertyValue(backgroundColor) возвращает пустую строку

Это моя проблема:

var mycss = window.getComputedStyle(myelement);

возвращает объект CSSStyleDeclaration:

CSSStyleDeclaration {0: "animation-delay",..., backgroundColor: "rgb(0, 0, 0)",...}

console.log(mycss);

Затем я хочу получить цвет фона, но

mycss.getPropertyValue("backgroundColor");

возвращает пустую строку ""!

Почему??


person devpelux    schedule 17.01.2018    source источник
comment
попробуй mycss.getPropertyValue('background-color')   -  person maioman    schedule 17.01.2018
comment
Я пробовал это, это работает на firefox, но не работает на chrome...   -  person devpelux    schedule 17.01.2018
comment
Попробуйте mycss.backgroundColor   -  person palaѕн    schedule 17.01.2018
comment
На моей машине chrome getPropertyValue работает только с аргументами, разделенными дефисом   -  person maioman    schedule 17.01.2018
comment
Как сказал @dartist21: jsfiddle.net/196tdj3j   -  person GalAbra    schedule 17.01.2018


Ответы (2)


В вашем CSSStyleDeclaration вам нужно изменить «backgroundColor» на «background-color», а затем вызвать

mycss.getPropertyValue('background-color')

Пример: HTML:

<head><style>
body {
    background-color: lightblue;
}
</style>
</head>
<body id="body">
  hello world
</body>

а затем вызов getPropertyValue:

var mycss = window.getComputedStyle(document.getElementById("body"));
myelement.innerHTML = mycss.getPropertyValue("background-color");
person Bob Aleena    schedule 17.01.2018

Вместо

mycss.getPropertyValue("backgroundColor");

использовать

mycss.getPropertyValue('background-color')

Это сработало для меня.

person dartist21    schedule 17.01.2018