ホームページ  >  記事  >  ウェブフロントエンド  >  object_html/css_WEB-ITnose の特定の CSS 属性の値を取得する JS に関する問題

object_html/css_WEB-ITnose の特定の CSS 属性の値を取得する JS に関する問題

WBOY
WBOYオリジナル
2016-06-21 08:56:011259ブラウズ

function getStyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; }else{ return getComputedStyle(obj,false)[attr]; }

このメソッドは非常に強力で、すべてのブラウザーと互換性があり、オブジェクトの特定の CSS プロパティを取得できます。

ただし、後でこのメソッドを使用すると、次のことが判明しました。 Firefox と IE では機能しませんでした。共通のバグがあります。つまり、境界線の値を取得すると、すべて空が返されます。

ブラウザーによって境界線のレンダリングが異なるため、境界線は 4 つにレンダリングされます。 Firefox の場合は、

そのため、境界線の値を取得するときは、

このようにして、境界線の値を取得する getStyle(obj,'borderLeftWidth') を個別に取得する必要があります。

実際、このメソッド自体には問題はありません。使用する際には、ブラウザ自体のいくつかの違いに注意する必要があります。

値が他の属性にもこの違いはあります。この違いは実際に使用する際に発見する必要があります。

さらに、インライン スタイルを取得する場合、このメソッドは汎用的ではありません。obj.style[attr]

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