【javascript】スタイルシートのCSSを取得する方法 getComputedStyle getPropertyValue

要素.style.プロパティ名 = 値(value);
HTMLに直接styleが書き込まれていれば、、、
<div class="box" style="background: black;">
<div class="text">テキスト</div>
</div>
以下のように、取得できます。
const box = document.querySelector(".box");
console.log(box.style.background)
// 結果 => black
参考

HTML内に書かれていない場合
<div class="box">
<div class="text">テキスト</div>
</div>
先ほどの、
要素.style.プロパティ名 = 値(value;
では、何も取得できません。
getComputedStyle
まずは、getComputedStyleで全体を取得。
const box = document.querySelector(".box");
let boxStyle = window.getComputedStyle(box);
console.log(boxStyle);

getPropertyValue
取得したいプロパティ名を指定します。
const box = document.querySelector(".box");
let boxStyle = window.getComputedStyle(box);
console.log('boxStyle.getPropertyValue("background") : ',
boxStyle.getPropertyValue("background"));
取得できました。

bodyのstyleを取得したい時
const bodyStyle = window.getComputedStyle(document.body);
const bodyStyleBackground = bodyStyle.getPropertyValue("background");
console.log(bodyStyleBackground);
if文で分岐させる
btn.addEventListener("click", ()=>{
// スタイルシートがrgb(51, 51, 51)で、かつ、HTMLにCSSが追加されていない時の処理
if (boxStyleBackground == "rgb(51, 51, 51)" && box.style.backgroundColor == "") {
text.style.color = "#333" // 文字が黒に
box.style.background = "#fff"; // 背景が白に
box.style.border = "1px solid #333"
} else{
text.style.color = "#fff" // 文字が白に
box.style.background = ""; // HTMLのCSSを消去 → 背景が黒
box.style.border = ""
}
})

要素.style.プロパティ名 = 値(value);
=>
HTMLに書かれたCSSを取得
getComputedStyle
=>
スタイルシートのCSSを取得
getPropertyValue
=>
getPropertyValueで取得したものの中から必要なプロパティを指定し、取得
こんな記事も読まれています。
-
【HTML】【CSS】【javascript】電卓の作り方
電卓のソースコードを2つ紹介します。javascriptはわずか数行で書けます。
-
【JacvaScript】【CSS】たった4行のJavaScriptでできるハンバーガーメニューの作り方
たった4行のJavaScriptで作るハンバーガーメニューの作り方について紹介します。✖をつくるには、transform-originがポイントです。
- リンク
-
波紋エフェクトを表現するjqueryのripples-min.jsの使い方
jqueryのripples-min.jsを使うと簡単に水面の波紋を表現できます。波紋の広がりの速度、波紋の大きさ、波紋のブレの値を変えていろいろ表現させると面白いです。
-
【Javascript】querySelectorAllで要素を取得し、クリックしたら、クラスを追加したり、削除したりする方法。
JavascriptのquerySelectorAllで要素を取得し、クリックしたら、クラスを追加したり、削除したりする方法について解説します。querySelectorと同じように書いてしまうとエラーがでます。forEachを使うとすべてに適用できます。
- リンク
-
要素の高さを取得する方法。getBoundingClientRectとは?window.innerHeightとは?window.pageYOffsetとは?
要素の高さを取得する方法について解説します。getBoundingClientRect、window.innerHeight、window.pageYOffsetについて理解し、要素がいつ画面に現れるかを把握できるようにしましょう。
-
Javascriptを使ったページネーションの実装
トップページの記事が増えてきたので、何とかページネーションで最新の記事だけを表示できないかと思っていたら、いい記事を発見しました。カスタマイズして実装することができました。
- リンク
-
【Javascript】マウスの指す(X, Y)座標とドラッグ & ドロップを理解する
マウスの指す(X, Y)座標とドラッグ & ドロップについて解説します。mousedown, mouseover, mousemove, mouseupを使います。
-
【javascript】連想配列をテーブルできれいに表示する方法
javascript(Object.entries)を使って、連想配列の中身をテーブルできれいに表示する方法について紹介します。
- リンク