問題は、someElement.style.left
インライン スタイルがある場合にのみ機能することです。スタイルシートを介してスタイルを適用するため、期待どおりに値を取得することはできません。
JavaScript を介して値を取得するには、他にもいくつかの方法があります。
window.getComputedStyle:
を使用して要素の計算されたスタイルを取得することは可能ですがwindow.getComputedStyle
、問題はサポートが非常に限られていることです (IE9+)。それでも使用したい場合は、関数でラップして、各プロパティを取得しやすくすることができます。
function getCssProperty(elmId, property){
var elem = document.getElementById(elmId);
return window.getComputedStyle(elem,null).getPropertyValue(property);
}
// You could now get your value like
var left = getCssProperty("my-div", "left");
実施例
jQuery (または他のライブラリ):
もう 1 つのオプションは、値を取得するためのクロスブラウザー ソリューションを提供する、 jQuery (または任意のもの)などの JavaScript ライブラリを使用することです。
jQuery では、.css()
メソッドを使用して要素の CSS プロパティを読み取ることができます。
$(function () {
var left = $("#my-div").css("left");
});
実例
</p>