ホームページ > ウェブフロントエンド > jsチュートリアル > getComputedStyle と currentStyle はスタイル (スタイル/クラス)_javascript スキルを取得します

getComputedStyle と currentStyle はスタイル (スタイル/クラス)_javascript スキルを取得します

WBOY
リリース: 2016-05-16 17:40:01
オリジナル
1104 人が閲覧しました

document.getElementById('element').style.xxx を使用して要素のスタイル情報を取得できることは誰もが知っていますが、参照される DOM 要素の style 属性のスタイル ルールのみを取得します。 class 属性を介しては、必要な情報を取得できません。

DOM 標準には、現在のオブジェクト スタイル ルール情報を取得できるグローバル メソッド getComputedStyle があります。たとえば、オブジェクトの左パディングを取得できる getComputedStyle(obj,null).paddingLeft などです。しかし、問題はまだ終わっていません。邪悪な IE はこのメソッドをサポートしていません。これは、グローバル メソッド getComputedStyle とは異なり、obj.currentStyle.paddingLeft などの独自の実装メソッドを持っています。 IE では、オブジェクトの左内側のマージンを取得します。

コードをコピーします。 コードは次のようになります。

return window.getComputedStyle ? window.getComputedStyle(obj,null).paddingLeft : obj.currentStyle.paddingLeft;

このようにして、現在の値がオブジェクトのスタイル情報を IE および FF で返すことができます。

特記事項: 現在のオブジェクトの色情報を取得したい場合、IE は 16 進数の '#ffffff' を返しますが、FF は rgb(255,255,255) を返します。

style 属性は次のことができます。 HTMLタグのスタイルは取得できますが、非インラインスタイルは取得できません。では、js を使用して CSS の非インターライン スタイルを取得するにはどうすればよいでしょうか? IE では currentStyle を使用できますが、Firefox では getComputedStyle を使用する必要があります。ここに小さな例を示します:
コードをコピー コードは次のとおりです:




js は currentStyle と getComputedStyle を使用して CSS スタイルを取得します

関数 getStyle(obj, attr) 🎜>if( obj.currentStyle)
{
return obj.currentStyle[attr];
else
{
return getComputedStyle(obj,false)[attr]; 🎜>}
}
window.onload=function()
{
var oDiv=document.getElementById('div1')
alert(getStyle(oDiv,'width'));
}


/body>



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート