
こんにちは。以前も同じ質問をさせていただいた者です。
http://oshiete1.goo.ne.jp/qa4199640.html
getElementByIdでセルの背景色を変更するために
document.getElementById(planId).style.backgroundColor="white";
というコードを書いたのですが、
document.getElementById(planId) is null
というエラーが出てしまいます。しかしセルの塗りつぶしはできているという謎のエラーです。
ここからが以前より多少進展したところなのですが、どうやら原因はID名にあるようです。
実は、planIdは一つ以上の変数の内容と組み合わせて生成しています。
a=ABC;
b=123;
planId=a+String(b);
の様にです。
ID名は動的なものでないと困るので、変数を使っていたのですがこういうやり方はできないのでしょうか?
もしほかにいい方法があればご教授ください。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは
getElementsByName()で、複数回目の参照以降にエラーが出るというのは体験したことがありますが、getElementById()は安定していると思います。(そのときはId参照に切替えました)
()内のid指定は変数でもOKです。
多分、Object.getElementById(id).property というような使い方をされているでしょうから、エラーが出る時のObject、id、propertyがそれぞれ正しくなっているかを再確認されてみてはいかがでしょう?
a = document.getElementById(planId);
のように分解しても、この行でエラーになるのあれば、そのときのplanIdの値が正しいか(IDとして存在している値か)を確認してみては?
返信が遅くなりすみません。
ご指摘いただいた点を再確認しましたが,問題ありませんでした。
しかし,ID指定に変数が使えるとはっきりわかっただけでも収穫ありです。ありがとうございます。
No.2
- 回答日時:
気になったのですが、
> a=ABC;
これは ABC という変数を a に代入していますよね。
文字列なら
a = 'ABC';
ではないでしょうか。
ところで、ブラウザはなんでしょうか。
みたところ、FxもしくはGeckoエンジンを搭載したブラウザのようですが。
alert(planId);
でちゃんと意図したIDになっているかと
alert(document.getElementById);
で、 document.getElementById が存在しているかを確認してください。
返事が遅くなりすみません。
>これは ABC という変数を a に代入していますよね。
間違えました↓↓ご指摘ありがとうございます。
>ところで、ブラウザはなんでしょうか。
Firefoxです。
ご指摘いただいたとおり確認してみましたが問題ないようです。
たしかにそのあたりが怪しいとは思うのですが,原因がなかなかつかめません。
ご回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- オープンソース Python openpyxlを使用したセル番地の使用について 1 2023/08/03 22:05
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Excel(エクセル) Excelを開くとエラーが出る 2 2022/10/03 16:13
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- Perl perlをバージョンアップしたら、今まで正常に動いていたプログラムが、エラーになってしまった 3 2022/10/05 15:44
- Excel(エクセル) こんなことできますか?例えば、sheetに貼り付けた図形のタイトルを、セルA1の文字で表示する。 5 2022/04/22 15:25
- その他(Microsoft Office) エクセル 表の移動 2 2023/04/05 20:29
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IE7でdocument.styleSheets[n]....
-
ホームページビルダーでスクリ...
-
「実行しましたが、ページでエ...
-
オブジェクトでサポートされて...
-
HTMLにデバック機能はないので...
-
正規表現について
-
Ajaxで通信したJavascript動作...
-
JSでファイル数取得
-
javascriptで最初のところに戻...
-
javascriptでフォルダ内のファ...
-
JSPの処理の途中で、JavaScript...
-
JavascriptでのExcel起動について
-
safariではロールオーバー機能...
-
チェックボックスのチェックの...
-
禁止文字チェック
-
gas 全角数字を半角数字に変換
-
delete[]と、delete演算子の明...
-
ページ遷移時にアコーディオン...
-
Excelのマクロ一括実行ができな...
-
C#でTextBoxに数値のみ入力可能...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PDFフォームで条件つき金額を表...
-
javascript:void(0)とは何でし...
-
Javascriptエラーの原因が分か...
-
ホームページビルダーでスクリ...
-
クロスドメインでクッキーの取得
-
confirm()をはい/いいえ に切...
-
JavaScriptのお勧めのデバッグ...
-
エラー回避の方法
-
window.openがIEでエラーにされる
-
特定の文字でエラー
-
IE8開発者ツールでソースの修正
-
ウェブページエラー。助けてく...
-
Firebugでエラーメッセージが出...
-
PhotoshopのJavaスクリプトで明...
-
HTAで,親ウインドウを閉じ...
-
HtmlからExcelを操作したい
-
ホームページビルダのエラーに...
-
HTMLにデバック機能はないので...
-
オブジェクトでサポートされて...
-
javascript が消えた?
おすすめ情報