ホームページ  >  記事  >  ウェブフロントエンド  >  CSS で定義されたスタイルに対して `element.style` が空の値を返すのはなぜですか?

CSS で定義されたスタイルに対して `element.style` が空の値を返すのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-06 11:01:02152ブラウズ

Why does `element.style` return an empty value for styles defined in CSS?

JavaScript スタイル属性の不一致

Q: 表示が定義されているときに element.style が一貫して空の値を返すのはなぜですかCSS では、要素がスタイルを継承している場合でも?

A: element.style プロパティは、HTML ドキュメント内の要素に直接適用されるインライン スタイルを取得します。 CSS で定義されたスタイルはインラインとみなされないため、element.style には反映されません。

計算されたスタイル:

JavaScript は window.getComputedStyle() を提供します。要素に適用される実際の効果的なスタイルを取得する関数。この関数は要素を入力として受け取り、すべての CSS プロパティの計算値を含む ComputedStyle オブジェクトを返します。

例:

次のコードを考えてみましょう:

<div>
#test {
  display: block;
}

document.getElementById('test').style.display にアクセスすると空の文字列が返されますが、window.getComputedStyle(document.getElementById('test')).display は正しく「block」を返します。

結論:

要素に適用された CSS スタイルを取得するには、window.getComputedStyle() を使用する必要があります。 element.style を使用すると、インライン スタイルのみが取得されます。通常、外部 CSS を持つ要素には設定されません。

以上がCSS で定義されたスタイルに対して `element.style` が空の値を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。