2008年10月27日月曜日

基本的な事ではまる

このエントリーをはてなブックマークに追加
JavaScriptで背景色を変える方法は

document.getElementById('hoge').style.backgroundColor = 'ff0000';

みたいな感じでやると色が変えられそうだけど、実は変わらない
Operaでは変わるんだけど、FirefoxとかIEでは駄目。
なぜ駄目かコードを良くみませう。

document.getElementById('hoge').style.backgroundColor = '#ff0000';

はい、そうです。#です
これが無いとちゃんと色が変わらなくなって、ぶち切れるわけです、開発中に。
という事で、僕の2時間を返してって感じで。
せめてエラー出してくれよorz

ちなみに、今回こんな単純ミスに気がつかなかったのは、カラーコードをINPUTから持ってくるってコードだったので、気づかなかった。
普通に#なんか入れないよ!
無理やり補完するコードも書いた。

var bgc = document.getElementById('bgcolor').value;
if( !bgc.match(/#/) ){
bgc = '#' + bgc;
}
document.getElementById('hoge').style.backgroundColor = bgc;


あまり良いコードじゃないけど、うっかりで入れ忘れる事があるって事で

0 件のコメント :

コメントを投稿