私はtd(表のセル)を取り、赤い枠線スタイルを指定するか、またはこれをオフにする簡単なJavaScript関数を作成しています。コードは:JavaScriptの変数にCSSスタイルを割り当てる
function doStuff(theCell)
{
var highlight = "2px solid rgb(255, 0, 0)";
if(borderStyle==highlight)
{
theCell.style.border="";
}
else
{
theCell.style.border=highlight;
}
}
これは問題ありません。しかし、私は(ちょうど最初の下に宣言した)変数によってCSSの境界線スタイルを交換しようとしたコードをきれいにしようとします
var borderStyle = theCell.style.border;
これは私が等価比較でそれを使用するときに[OK]を動作しますが、いないとき私はそれを 'else'節のスタイル指定に入れました。
私は非常に愚かなことをしようとしているに違いありません。誰でも説明できますか?
ここで、関数内でborderStyleを定義しましたか? – hakJav
'theCell.style.border'は' string'を返します。後で 'else'ブロックの後ろに、文字列を更新して要素に割り当てません。 – Rayon
*私は非常に愚かなことをやろうとしているに違いありません。 'borderStyle'への代入が参照*を割り当てていると仮定すると、' borderStyle'に対する変更は 'theCell.style.border'に影響します。この仮定は誤りです。 –