▶▶▶ 【最大補助3/4】
IT導入補助金特別枠(C類型)を使って越境ECサイトを構築しませんか?

LaunchCartな日々

LaunchCartとともに歩む日々を綴った
ブログです

JavaScriptでCSSを操作する方法(IE11以上版)

テクニック

JavaScriptでCSSを操作する方法(IE11以上版)

むかし別のブログで、jQueryを使わず、プレーンのJavaScriptでCSSを操作する方法をご紹介しましたが、
4年近くが経ち、JSの新しい記述方法に対応したブラウザが増え、
もっと簡単でわかりやすい書き方が可能になってきましたので、
改めて方法をまとめ直してみました。

方法

jQueryのようにCSSのセレクターでまとめて要素を指定して操作する

IE8以上ではquerySelectorAll()を、IE9以上ではforEach()を利用することができるため、2019年現在はほぼ問題なくこちらの方法でCSSを操作することができます。

以前は

という記述方法をご紹介しましたが、この方法ではCSSとプロパティ名をローワーキャメルケースに置き換える必要があり、CSSに慣れていると直感的にわかりにくいという点と、CSSで !importantが使われていると無効化されるというデメリットがあります。

一方今回ご紹介したsetProperty()を使った方法では、CSSと同じプロパティ名で指定できる上、第3引数に’important’を指定すると、JavaScriptから!importantを適用することができます。

querySelectorAll()はCSSのセレクターで要素を指定でき、id, class, タグ名などを問わずに柔軟に要素を指定できるため、基本的にこのメソッドだけで要素の指定は事足りてしまいます。

styleの変更だけでしたら、以前のようにgetElementById(), getElementsByClassName()などのようにターゲットの要素ごとにメソッドを変更する必要はありません。

 

以前はJavaScriptからのCSSの指定が面倒で、それだけのためにjQueryを使うこともありましたが、このくらいの記述だったら、プレーンのJavaScriptを恐れずに使うことができそうです。

 

参考にさせていただいたサイト

Document.querySelectorAll() – Web API | MDN

CSSStyleDeclaration.setProperty() – Web APIs | MDN

JavaScriptでの要素のスタイル操作で !important を使う方法 – Qiita

 

この記事を書いた人
Ninomiyaのアイコン

Ninomiya

Webデザイナー兼コーダーです。 イラストを描くのも好きです。 SVGとCanvasを使ったWEBアプリにも興味があります。 よろしくお願いいたします。

資料ダウンロード

送信いただいたメールアドレス宛に、資料のダウンロードURLを送付いたします。