Window.getComputedStyle()
は、要素の解決されたスタイルプロパティを持つCSSStyleDeclaration
オブジェクトを返します。Window.getComputedStyle()の結果は常に最新の状態になっていますか?
ページが変更されると、このオブジェクトは最新の状態に保たれますか?たとえば、これは動作することが保証されていますか?
var style = window.getComputedStyle(myDiv);
assert(myDiv.display == 'block');
myDiv.style.display = 'none';
assert(myDiv.style.display == 'none'); // Magically updated
私はgetComputedStyle()
を呼び出すことによって返されたオブジェクトが一致していないことに気付きました。私はあなたがgetComputedStyle()
の結果をキャッシュすることができないと仮定しました。それは読み取り専用なのでです。アクセスするプロパティは常に最新の解決値を返しますか?
var style1 = window.getComputedStyle(myDiv);
myDiv.style.display = 'none';
var style2 = window.getComputedStyle(myDiv);
assert(style1 != style2); // Not the same object
for (var i = 0; i < style1.length; i++)
assert(style1[i] == style2[i]);
ありがとうございます! MDNが引用しているDOM-Level-2-Styleを探していました。 – mgiuffrida