背景:jsfiddle hereを参照してください。CSSコードはDOMオブジェクトの.styleプロパティを初期化しますか?
私はシンプルなDOMイベントの例を作成しました。
<div id="squirrel" onmouseover="toggleFloat(this)">
<p>Click me!</p>
</div>
<script>
function toggleFloat(ele){
var current = ele.style.cssFloat;
console.log("cssFloat: "+current);
if(current==="left")
ele.style.cssFloat="right";
else
ele.style.cssFloat="left";
}
</script>
するCSS:
#squirrel{
float:left;
}
奇数行動が認められたが:DOMでは、cssFloatプロパティの#リスの初期値は "" でした。 (これを見るには開発者コンソールを開くか、2番目のイベントが発生するまで#squirrelが動かないことに注意してください)。
私の質問はです。CSSコードはDOMオブジェクトのcssFloatプロパティを初期化していませんか? ...またはそのようなスタイルプロパティのいずれか?
エレメントの 'style'プロパティーは' style'属性で定義されたインラインスタイルを表します。それらはあなたのCSSファイルで定義されたCSSルールによって変更されません。ブラウザは、これらのルールとインラインスタイルに基づいて最終的なスタイルを計算します。最終的に計算されたスタイルは、['MDN:Window.getComputedStyle()'](https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle) –
を使って取得できます。スタイルをインラインで行うことは[期待どおりに動作します](https://jsfiddle.net/vgwfL3L1/6/)。 (私はそれを選択することができるように答えとしてあなたのコメントを投稿する?) – Andrew