问题
This is my problem:
var mycss = window.getComputedStyle(myelement);
returns a CSSStyleDeclaration object:
CSSStyleDeclaration {0: "animation-delay",..., backgroundColor: "rgb(0, 0, 0)",...}
Then, I want to get the background color, but
mycss.getPropertyValue("backgroundColor");
returns an empty string ""
!
Why??
回答1:
Within your CSSStyleDeclaration, you need to change 'backgroundColor' to 'background-color' and then call
mycss.getPropertyValue('background-color')
An example: HTML:
<head><style>
body {
background-color: lightblue;
}
</style>
</head>
<body id="body">
hello world
</body>
and then calling the getPropertyValue:
var mycss = window.getComputedStyle(document.getElementById("body"));
myelement.innerHTML = mycss.getPropertyValue("background-color");
回答2:
Instead of
mycss.getPropertyValue("backgroundColor");
use
mycss.getPropertyValue('background-color')
That worked for me.
来源:https://stackoverflow.com/questions/48306795/getpropertyvaluebackgroundcolor-returns-an-empty-string