JavaScript で要素の CSS プロパティ値を取得するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-10-23 21:33:30
オリジナル
292 人が閲覧しました

How to Retrieve CSS Property Values for Elements in JavaScript?

JavaScript を使用した要素の CSS プロパティの読み取り

問題:

値の取得方法スタイルシートが Web ページの外部にリンクされていることを考慮して、JavaScript を使用して要素の CSS プロパティを取得するにはどうすればよいですか?

解決策:

主なアプローチは 2 つあります:

1. document.styleSheets の使用:

この方法では、document.styleSheets 配列を手動で繰り返し、CSS ルールを解析して目的のプロパティを見つけます。ただし、このアプローチはリソースを大量に消費し、ほとんどのシナリオでは実用的ではないため、お勧めできません。

2.一致する要素の作成と getComputedStyle の使用:

このメソッドは、ターゲット要素と同じ CSS セレクターを持つ要素を作成し、getComputedStyle メソッドを使用してプロパティ値を取得します。このアプローチの利点は、継承されたすべてのスタイルと動的に適用されるスタイルをすべて考慮できることです。

コード例:

div の "color" プロパティを取得するにはクラス "layout" では、次のコードを使用します。

<code class="javascript">function getStyleProp(elem, prop){
    if(window.getComputedStyle)
        return window.getComputedStyle(elem, null).getPropertyValue(prop);
    else if(elem.currentStyle)
        return elem.currentStyle[prop]; //IE
}</code>
ログイン後にコピー

使用法:

<code class="javascript">window.onload = function(){
    var d = document.createElement("div"); //Create div
    d.className = "layout";                //Set class = "layout"
    alert(getStyleProp(d, "color"));       //Get property value
}</code>
ログイン後にコピー

追加メモ:

インラインを無視するには現在の要素のスタイル定義には、getNonInlineStyle 関数を使用します:

<code class="javascript">function getNonInlineStyle(elem, prop){
    var style = elem.cssText; //Cache the inline style
    elem.cssText = "";        //Remove all inline styles
    var inheritedPropValue = getStyle(elem, prop); //Get inherited value
    elem.cssText = style;     //Add the inline style back
    return inheritedPropValue;
}</code>
ログイン後にコピー

以上がJavaScript で要素の CSS プロパティ値を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!