質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

434閲覧

javascriptでの日付表示ができません。

miramikan

総合スコア26

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2017/06/26 14:00

###前提・実現したいこと
javascriptで日付を表示させたいです。
###発生している問題・エラーメッセージ
ネットから見つけたコードをそのまま使わせていただいたのですが、
google chrome のjavascriptコンソールで確認したところ、

index.js:1 Uncaught TypeError: Cannot set property 'innerHTML' of null
at index.js:1

というエラーメッセージが出てしまいます。
HTMLでidも指定したのですが、、
原因がどうしてもわかりません。お分かりになる方がいましたら、どこを変えればいいのか教えてください。
よろしくお願いします。

HTML

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>Info</title> 6 <link rel="stylesheet" type="text/css" href="style.css"> 7 <script type="text/javascript" src="index.js"></script> 8 9</head> 10<body> 11 <div class="header"> 12 13 </div> 14 15 <div class="main"> 16 17 18 </div> 19 20 21 <div id='today' class='content'> 22 <h2 class="title"><span id="view_today"></span>の情報</h2> 23 24 25 26 27</div> 28 29<div class="footer"> 30 31 </div> 32

Javascript

1document.getElementById("view_today").innerHTML = getToday(); 2 3function getToday() { 4 var now = new Date(); 5 var year = now.getFullYear(); 6 var mon = now.getMonth()+1; //1を足すこと 7 var day = now.getDate(); 8 var you = now.getDay(); //曜日(0~6=日~土) 9 10 //曜日の選択肢 11 var youbi = new Array("日","月","火","水","木","金","土"); 12 //出力用 13 var s = year + "年" + mon + "月" + day + "日 (" + youbi[you] + ")"; 14 return s; 15}

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

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

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

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

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

guest

回答1

0

ベストアンサー

<script type="text/javascript" src="index.js"></script>

でjsを読み込んだ時点で
document.getElementById("view_today")
に該当する箇所が読み込まれていないからオブジェクトがつかめずに
当然innerHTMLは設定できません。

window.onload=function(){
document.getElementById("view_today").innerHTML = getToday();
}

のような、ページ読み込み後の処理にするか

<h2 class="title"><span id="view_today"></span>の情報</h2> のあとでjsを読み込むかのどちらかでしょう

投稿2017/06/26 14:06

yambejp

総合スコア114829

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

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

miramikan

2017/06/26 14:13

そうだったのですね!勉強不足でお恥ずかしいです汗 ありがとうございます!!勉強になりました!即回答してくださって本当にありがとうございました!助かりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問