問題タブ [getcomputedstyle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 「getComputedStyle」は何を返し、それをどのように反復するのですか?
JavaScript を介して特定の要素のすべてのスタイルを取得しようとしています。getComputedStyle
正常に動作しますが、返されるオブジェクトの種類と、それを反復する最適な方法について混乱しています。forEach
ほとんどのプロパティは整数ベースであるため、ループを使用して配列を反復処理することを提案している他の回答もありますが、返されるオブジェクトの他のプロパティは何ですか?
たとえば、要素のスタイルを次のように記録します。
戻り値 (簡潔にするために省略):
プロパティの多くはインデックスベースであるため、それが本当に配列である場合は理にかなっていますが、インデックス 319 以降は文字列alignContent
のキーに戻り、返されるオブジェクトの次のキーになります。
さらに、要素の宣言されたスタイルのみを取得し、計算されたすべてのスタイルを取得する方法はありますか?
javascript - 単語ではなく数値としてJSを使用して現在のスタイル値を取得する方法は?
を使用しますgetComputedStyle(element)[type]
。ここで、要素は<p>
タグでtype
あり、またはのいずれfontSize, lineHeight, letterSpacing, fontFamily
かwidth
です。fontSize と width については、16px や 100% などの数値を取得します。これは私が扱うことができるものですが、letterSpacing と lineHeight についてnormal
は値として取得します。しかし、数値として必要なので、足したり引いたりできます。JSで操作したい。
私のスタイルシートでは、次のようになります。
すでに設定した値を使用して配列を手動で書き込み、それを操作するオプションがあります。しかし、それを継承しているため、lineHeight にはまだ問題があります。
次に例を示します。