\n\n\n```\n\n```js\n// 実際は全部1行になっているものとする。\nvar id;\n\nid = 'x';\ndocument.getElementById(id).innerHTML;\n\nid = 'y';\ndocument.getElementById(id).innerHTML; // ★エラー!\n\nid = 'z';\ndocument.getElementById(id).innerHTML;\n```\n\n--\n\n1・エラーメッセージの横にあるリンクから該当のソースコードへジャンプします。\n\n![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-05-25/ddaa6910-7dbe-4bcf-b8f2-80969b06559e.png)\n\n2・ `{}` みたいなボタンを押して見やすくします\n\n![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-05-25/0e7d22bf-7611-43f1-a2f9-3997d2e57119.png)\n\n↓ ↓ ↓ ↓ ↓\n\n![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-05-25/cd2a6ae4-363f-4c0e-af61-f43a6c6a3aa2.png)\n\n3・監視式に変数名を入れれば、変数の中身も確認できます。\n\n![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-05-25/1361c08e-f531-480f-9409-1317ecfc3fe6.png)\n\n↓ ↓ ↓ ↓ ↓\n\n![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-05-25/cc0a9c4b-db9c-4d20-93a2-c44ebfe646e3.png)\n\n--\n\nこれで、「2番目の `document.getElementById(id).innerHTML;` でエラーが発生していて、そのとき変数 id には `y` が入っている」ということが調べられると思います。","dateModified":"2023-05-25T23:45:22.921Z","datePublished":"2023-05-24T00:09:39.270Z","upvoteCount":2,"url":"https://teratail.com/questions/pz7l6wvhc3tli7#reply-0wziyk4lf36pf8"},"suggestedAnswer":[],"breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"トップ","url":"https://teratail.com"},{"@type":"ListItem","position":2,"name":"JavaScriptに関する質問","url":"https://teratail.com/tags/JavaScript"},{"@type":"ListItem","position":3,"name":"JavaScript","url":"https://teratail.com/tags/JavaScript"}]}}}
質問するログイン新規登録
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

723閲覧

JavaScript document.getElementById(...) is null

tyeqsf

総合スコア7

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2023/05/23 23:26

0

0

コンソールのエラーの表記がdocument.getElementById(...)となっており...の部分がわからないので特定できない場合どうやって特定するのでしょうか?

Firefox

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

int32_t

2023/05/23 23:32

エラーが出た行も表示されていませんか?
guest

回答1

0

ベストアンサー

説明のため以下のコードを使います。
ページを開くと ★ の位置でエラーが発生します。

html

1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="UTF-8"> 5 <title>サンプル</title> 6</head> 7<body> 8 <div id="x">div#x</div> 9 <!-- id="y" は無いよ --> 10 <div id="z">div#z</div> 11 <script src="index.js"></script> 12</body> 13</html>

js

1// 実際は全部1行になっているものとする。 2var id; 3 4id = 'x'; 5document.getElementById(id).innerHTML; 6 7id = 'y'; 8document.getElementById(id).innerHTML; // ★エラー! 9 10id = 'z'; 11document.getElementById(id).innerHTML;

--

1・エラーメッセージの横にあるリンクから該当のソースコードへジャンプします。

イメージ説明

2・ {} みたいなボタンを押して見やすくします

イメージ説明

↓ ↓ ↓ ↓ ↓

イメージ説明

3・監視式に変数名を入れれば、変数の中身も確認できます。

イメージ説明

↓ ↓ ↓ ↓ ↓

イメージ説明

--

これで、「2番目の document.getElementById(id).innerHTML; でエラーが発生していて、そのとき変数 id には y が入っている」ということが調べられると思います。

投稿2023/05/24 00:09

編集2023/05/25 23:45
shinoharat

総合スコア1685

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tyeqsf

2023/05/25 01:39 編集

言葉たらずですみません。 参照する方法はわかるのですが ...となってる部分を表示してログに出す設定か何かはあるんですか? 1行に複数document.getElementByIdの記述があった場合、どれを指すかわからないと思います
tyeqsf

2023/05/25 01:38

なぜあえて ... と表記してるのか、理由があるんでしょうか?
shinoharat

2023/05/25 02:39

コメントありがとうございます。 > 1行に複数document.getElementByIdの記述があった場合、どれを指すかわからないと思います スクリプトが圧縮(minify)されている感じですかね? 開発者ツールに整形ボタンがあるので、それを使ってみてはいかがでしょうか? 回答を編集しました。 > ...となってる部分を表示してログに出す設定か何かはあるんですか? すみません。分かりません。 > なぜあえて ... と表記してるのか、理由があるんでしょうか? すみません。こっちも分かりません。 整形ボタンで解決してくれれば良いですが・・・。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問