JavaScript スタイル オブジェクトと CurrentStyle オブジェクトのケース スタディ

JavaScript スタイル オブジェクトと CurrentStyle オブジェクトのケース スタディ

1. スタイルオブジェクト

スタイル オブジェクトは単一のスタイル宣言を表し、スタイルが適用されているドキュメント要素からアクセスできます。スタイル オブジェクトは、インライン スタイル、つまり要素タグ内のスタイル属性の値を取得します。

例:

<style type="text/css">#div{color:gray;}</div>//内部スタイル <div id="div" style="color:red;"></div>//インライン スタイル document.getElementById('id').style.color;//値は赤です

2. currentStyle オブジェクト

CSS カスケード ルールに従って要素に適用されたすべてのスタイル宣言 (内部、外部、インラインを含む) の最終スタイルを返します。要素の計算されたスタイルを取得するために CurrentStyle の使用をサポートするのは、IE と Opera だけです。 getComputeStyle() メソッドは、現在の要素で使用されている CSS 属性値を取得できます。

var div=window.getComputeStyle("div",null).color; //最初のパラメータはターゲット要素、2番目のパラメータは疑似クラスです(必須、疑似クラスがない場合はnullに設定)

スタイルオブジェクトとの違い:

getComputeStyle() は読み取り専用で、取得することはできますが設定することはできません。一方、スタイルは読み取りと設定が可能です。

スタイルが設定されていない要素の場合、getComputedStyle() はオブジェクト内の長さプロパティの値を返し、スタイル オブジェクト内の長さは 0 になります。

ブラウザによって currentStyle オブジェクトのサポートが異なるため、互換性に対処する必要があります。

var div = document.getElementById('div');

var colorStr = null;

if(div.currentStyle){//IEと互換性あり

       colorStr = div.currentStyle;

}それ以外{
colorStr = window.getComputedStyle(div,null);

}

var col=colorStr.color; //divのカラー属性値を取得する

3. 例(ドラッグ可能なレイヤー)

CurrentStyle オブジェクト

スタイルオブジェクト

これで、JavaScript スタイル オブジェクトと CurrentStyle オブジェクトの詳細なケース分析に関するこの記事は終了です。js スタイル オブジェクトと CurrentStyle オブジェクトに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JS は CSS スタイルを取得します (style/getComputedStyle/currentStyle)
  • CSS スタイルシートのスタイルの js 関数 currentStyle(IE),defaultView(FF) を取得します。
  • JavaScript はインライン以外のスタイルを読み取ります (style、currentStyle、getComputedStyle の違いの紹介)
  • (currentStyle) JavaScript がスタイルを使用して設定された CSS プロパティを取得できないことがあるのはなぜですか?

<<:  VMware 仮想マシンに Android x86 をインストールする方法

>>:  LINUX ポートが占有されているかどうかを確認します

推薦する

OneProxy に基づいて MySQL の読み取り/書き込み分離と負荷分散を実装する

導入パート1: 冒頭に書いたOneProxy は、民間ソフトウェアによって完全に独立して開発された分...

QQブラウザ機能を実装するためのCSS

コード知識ポイント1. fullpage.jsを組み合わせてフルスクリーンスクロールを実現する2. ...

ウェブサイトをより高く、よりデザイン的に見せる方法

「ウェブサイトを高級感のあるものにするにはどうすればいいでしょうか? それともデザイン重視にすればい...

JavaScriptはボタンをクリックして4桁のランダムな検証コードを生成します

この記事の例では、ボタンをクリックすることで4桁のランダムな検証コードを生成するjsの具体的なコード...

MySQL の binlog_format モードと設定の詳細な分析

MySQL レプリケーションには、SQL ステートメント ベースのレプリケーション (SBR)、行ベ...

アイデア展開Tomcatサービス実装プロセス図

まずプロジェクトの成果物を構成するスタートアップ項目の設定 Tomcatサービスを作成する開始したい...

PhpStormがVirtualBoxに接続できない問題を解決する

問題の説明: phpstorm の SFTP ホストを 192.168.122.1 に設定すると、接...

シンプルな画像ドラッグ効果を実現する js

この記事では、簡単な画像ドラッグ効果を実現するためのjsの具体的なコードを参考までに紹介します。具体...

MySQLクライアント認証後の接続失敗の問題に対する完璧なソリューション

MySQL 環境をローカル (192.168.1.152) にデプロイし、リモート クライアント 1...

要素の円弧モーションを実現する CSS3 サンプルコード

CSS を使用して要素の円弧の動きを制御する方法CSS3 の新しい属性 transfrom トランジ...

MySQL のマスター スレーブ レプリケーション オプションをオンラインで変更する方法

序文: MySQL で最も一般的に使用されるアーキテクチャは、マスター スレーブ レプリケーションで...

プロジェクトを素早く構築するためのvite+vue3.0+ts+element-plusの実装

目次バイト機能使用環境プロジェクトを構築する構成vite.config.ts tsconfig.js...

HTML 名、ID、クラス (フォーマット/アプリケーション シナリオ/機能) などの違いの紹介。

ページには多くのコントロール (要素またはタグ) があります。これらのタグをより便利に操作するには、...

Docker ベースの ELK を素早く構築する方法

[概要] この記事では、自作の Docker プラットフォームをベースに完全な ELK システムを素...

EXPLAIN を使って MySQL の SQL 実行プランを分析する方法

序文MySQL では、EXPLAIN コマンドを使用して、テーブルの接続方法や SELECT ステー...