Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get current applied style with JS

I was looking at this post How to get the background color of an element using javascript?

which confirmed that if you do

div.style.color 

you will get returned the color applied to the div.

However this only seems to return a result if the style is applied inline on the element?

How do you return the style applied to the element when the style is applied through a style sheet (or in tags) rather than directly inline?

See example below.

console.log(document.getElementById('content').style.backgroundColor);
console.log(document.getElementById('content').style.color);
#content {
  background-color: #000000;
  display: inline-block;
  height: 100px;
  width: 100px;
}
<div id="content" style="color:red;"></div>

console.log(document.getElementById('content').style.backgroundColor);

returns nothing

console.log(document.getElementById('content').style.color);

returns red

like image 481
ak85 Avatar asked Jan 28 '15 22:01

ak85


1 Answers

You need to use getComputedStyle() to get the styles assigned through the stylesheet.

console.log(getComputedStyle(document.getElementById('content')).backgroundColor);
console.log(document.getElementById('content').style.color);
#content {
  background-color: #000000;
  display: inline-block;
  height: 100px;
  width: 100px;
}
<div id="content" style="color:red;"></div>
like image 132
Weafs.py Avatar answered Oct 14 '22 02:10

Weafs.py