Element.style - style属性のオブジェクトを取得する

投稿日: / 更新日:

JavaScriptの、Elementオブジェクトのstyleはstyle属性を含んだプロパティです。

説明

Elementオブジェクトのstyleプロパティは、その要素のstyle属性を含むオブジェクト(CSSStyleDeclaration)です。

<a style="color:white; background:red">SYNCER</a>
// aElement = <a style="color:white; background:red">SYNCER</a>

// aElement.styleの取得
var style = aElement.style ;

取得できるのはCSSStyleDeclarationという種類のオブジェクトで、その要素にインライン方式(style="...")で指定されているスタイルの情報が含まれています。下記は、aElement.styleで参照したCSSStyleDeclarationの一部です。スタイルシートのプロパティ名をキー名にした、全てのスタイルの情報が含まれています。指定したもの、しないもの全てです。

{
	background: "red",
	backgroundAttachment: "initial",
	backgroundBlendMode: "",
	backgroundClip: "",
	color: "white"
}

background-attachmentのように途中にハイフンが入ったプロパティ名の場合、CSSStyleDeclarationではbackgroundAttachmentというキー名になります。ハイフン(-)は無視して、ハイフン直後の文字が大文字になるルールです。

例えば、CSSでbackground-blend-modeなら、JavaScriptではbackgroundBlendMode、CSSでbackground-clipなら、JavaScriptではbackgroundClipです。例外として、CSSのfloatプロパティは、JavaScriptではCSSFloatというキー名になります。floatという文字はJavaScriptの予約語だからです。

あと、くどいですがもう1つだけ。-webkit-tab-size-moz-tab-sizeなどのベンダープレフィクスが付く場合です。ルール通りなんですが、先頭のハイフン(-)を無視します。そして先頭になる文字は、小文字でも大文字でも認識されます。WebkitTabSizeでも、webkitTabSizeでも、どちらでもいいということです。

// style属性を変更
aElement.style.background = "blue" ;
<a style="color:white; background:blue">SYNCER</a>

CSSStyleDeclarationの各プロパティの内容は変更できます。例えば上記は、背景色を変更する例です。内容を変更すると、ブラウザの表示に反映されます。

// style属性を変更 ( background:blueを削除 )
aElement.style.background = "" ;
<a style="color:white">SYNCER</a>

空文字を指定すると、要素のstyle属性から該当のCSSプロパティが削除されます。

サンプルコード

<a id="target" style="color:white; background:red">SYNCER</a>
// a要素を取得
var aElement = document.getElementById( "target" ) ;

// style属性を取得
var style = aElement.style ;
// a要素を取得
var aElement = document.getElementById( "target" ) ;

// CSSのcolorプロパティを変更
aElement.style.color = "#000000" ;

// CSSのtext-decorationプロパティを変更
aElement.style.textDecoration = "underline" ;

// CSSの-webkit-tab-sizeプロパティを変更
aElement.style.webkitTabSize = "5" ;

デモ

a要素のstyle属性を取得して表示します。また、background-colorの値をpinkに変更します。コンソールでオブジェクトの中身を確認できます。

構文

readonly CSSStyleDeclaration style = Element.style

返り値

項目説明
stylestyle属性を含んだオブジェクト(CSSStyleDeclaration)。

関連項目

外部リンク