
こんばんは。いつも利用させていただいてます。また皆さんのお知恵をお貸りに来ました。
親ウィンドウのテーブルのセルの背景色が白である場合、処理をさせるため以下のコードを書きました。
if(window.opener.document.getElementById(idNameS).style.backgroundColor == "white"){
myFlg=1;
}
これを実行するとFirebugで、
window.opener.document.getElementById(idNameS) is null
というエラーが出てしまいます。ちなみに実行時のセルの背景色は全て白です。
いったい何がnullなのでしょうか。それからどのようにしたらエラーが出ずにうまく動くのでしょうか。
ご教授よろしく願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
No3追記です。
説明解りにくいかもしれないので、もう少し詳しくします。
HTMLにでもjavascriptでも、処理をしているのはブラウザです。
使用ブラウザがHTMLで"white"とあるのを、一旦null(空)に変換して、
値がなかった時と同じ処理(関数)へ
飛ばしているのではないかと思ったのです。
処理はブラウザの種類に一任されますから、
whiteをwhiteとしてあつかうブラウザも存在するでしょう。
しかし、値がnullの場合は必ず白になるはずですから、
whiteとnullの処理を同じにしておく必要があると思います。
ご回答ありがとうございます。
No.2の方の捕捉に書かせて頂きましたが、実は緑の時も同じエラーが出てしまうのです↓↓情報不足ですみませんでした。
しかし、ご指摘いただいた可能性も十分考えられますね。コードを修正します。参考になるご意見ありがとうございました。
No.3
- 回答日時:
値がnull(空)場合に、ブラウザの描画で、
白く表示しているだけではないのでしょうか。
ブラウザには自動翻訳機能があって、
HTMLの記述が正確でなくても、エラーの起こらない表示をします。
バックグラウンドの色指定がないとき表示されるのは白い背景です。
javascriptには、そういった判別機能はないと思います。
nullの場合も myFlg=1; になる処理を記述すれば
いいのではないでしょうか。
要するに
if(window.opener.document.getElementById(idNameS).style.backgroundColor == null){myFlg=1;}
の一行を加えればいいと思います。(もちろん&&で拡張もOK)
No.2
- 回答日時:
nullなのでオブジェクトは存在していて、値がnullなのではと想像されます。
null値でも比較して、結果が偽となりそうな気もしますが・・・
idNameSの対象が何か不明ですが、idNameSのbackgroundColorが親ウィンドウのHTMLで明示的に指示されていないので、未定義(値がない)ということではないでしょうか?
表示にはbodyのバックグラウンドが踏襲されていたりとか・・・
=="white"の比較も、HTMLで#FFFFFFと指定をしていたりすると、違う値として判断される可能性がありますので、確認しておいたほうが良いかも。(すみませんが、想像です。確認はしていません。)
この回答への補足
実は白と緑でセルに色をつけて白の部分のid名だけを取得するということをやっていて、id名の取得は出来ているのです。
つまりやりたいことは出来ているのですが、このエラーのせいで処理がとまってしまうという状態です。
id名や色の指定は出来ているようです。
ご回答ありがとうございます。
ご指摘いただいた色のコードについてですが、今一度調べてみたところHTMLでもwhiteと記述してありましたのでその可能性もなさそうです。
補足に情報を書きますのでそちらもご覧いただけると幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
- Visual Basic(VBA) VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカウントできる、VB 2 2022/04/06 21:33
- その他(Microsoft Office) エクセル 表の移動 2 2023/04/05 20:29
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Excel(エクセル) エクセルのマクロを教えてください シート内の背景色が赤のセルだけを残して 他のセルは削除したいです。 3 2023/07/12 12:26
- Excel(エクセル) こんなことできますか?例えば、sheetに貼り付けた図形のタイトルを、セルA1の文字で表示する。 5 2022/04/22 15:25
- 会計ソフト・業務用ソフト エクセル 背景色のついたセル位置を参考にして固定の数値を取得する 4 2022/07/11 08:44
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Excel(エクセル) エクセル マクロ 行や列を削除しても 常にC3セルに背景色を維持 6 2023/04/04 02:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ORA-01858: 数値を指定する箇所...
-
getStringの値がNULLの時の処理
-
eclipseでoracle接続時のエラー...
-
配列にnullを代入すると、null...
-
Tomcatを再起動するとエラーが...
-
空欄のテキストフィールドの判...
-
C# ListBoxのインデックスの値...
-
onbeforeunloadでnullを返すとI...
-
Java配列でNullPointerExceptio...
-
逆コンパイルの見方について(...
-
データベースからの値の取得
-
ibatis select複数件の受入方に...
-
javaの掲示板について
-
System.err. printlnとSystem.o...
-
C言語のポインターに関する警告
-
1~100までの数字を表示したい
-
Javaで文字と数字が混ざったも...
-
一定のスペースを空けて端を揃...
-
動的配列が存在(要素が有る)か...
-
Javaで改行などが出来ないのです。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ORA-01858: 数値を指定する箇所...
-
BOOL値を逆にしたい
-
getStringの値がNULLの時の処理
-
Java配列でNullPointerExceptio...
-
配列にnullを代入すると、null...
-
例外でBeanUtils.populateが、...
-
eclipseでoracle接続時のエラー...
-
C# ListBoxのインデックスの値...
-
HashMapがおかしい
-
Tomcatを再起動するとエラーが...
-
C#でラジオボタンとコンボボッ...
-
java 引数 戻り値のあるメソッド
-
JSPで複数のSQL実行につ...
-
JSPによる画面間のパラメータの...
-
セルの背景色の取得ができない
-
gas カレンダー祭日設定でエラー
-
Stringを返す getText()メソッ...
-
jsp/Servletの動的に増えるフォ...
-
if文で・・・
-
VB.net TreeViewコントロール
おすすめ情報