html内で日付を自動表示させたく、JavaScriptにて以下のような記述を作り、
一つは年月日+時間、
一つは年月日のみ
を表示させようとしたのですが、
うまく表示されてくれません。。
追記ーーー
うまくいかない=
一つ目の<p id="NowDate"></p>を書いた場合は表示されるが、
二つ目の<p id="NowDate2"></p>のみを書いた場合は表示されてくれません。
元々はhtml,cssのみで作られているサイトにて表示させたく思っていたのですが、
メモとして残しておきたく、WordPressの投稿内で記述し、
jsファイルの別ファイルに以下の記述をしたのですが、
htmlのサイトも、wpのサイトも同様の動きで
二つ目の<p id="NowDate2"></p>のみを書いた場合、
表示がされてくれません。
ーーー
html<!DOCTYPE
1<html lang="ja"> 2 3<head> 4 <meta charset="UTF-8"> 5 <title>test</title> 6 <script type="text/javascript" src="/js/jquery.min.js"></script> 7 <script type="text/javascript" src="/js/base.js"></script> 8</head> 9 10<body> 11 <p id="NowDate"></p> 12 <p id="NowDate2"></p> 13</body>
javascript
1$(function () { 2 var now = new Date(); 3 var y = now.getFullYear(); 4 var m = now.getMonth() + 1; 5 var d = now.getDate(); 6 var w = now.getDay(); 7 var wd = ['日', '月', '火', '水', '木', '金', '土']; 8 var h = now.getHours(); 9 var mi = now.getMinutes(); 10 var s = now.getSeconds(); 11 target = document.getElementById('NowDate').innerHTML = y + '年' + m + '月' + d + '日'; 12 target = document.getElementById('NowDate2').innerHTML = y + '年' + m + '月' + d + '日' + '(' + wd[w] + ')' + h + '時' + mi + '分' + s + '秒'; 13});
getElementById
の使い方か何かがが間違っているのでしょうか?
教えていただければ幸いです。
よろしくお願いいたします。
「うまくいかない」とは何も伝えない表現です。
起きている現象を具体的に記載していてください。まずはエラー確認から。
超細かいですが、
Java Script
は間にスペース入ると、全然違う言語になってしまうのでご注意を・・・。
(JavaScriptと、一綴りです)
m.ts10806さん、
失礼しました。。
うまくいかない=表示がされてくれない状態です。
具体的にはWordPressで作成中の投稿内に表示したく、
jsファイルの別ファイルに上記質問の記述をし、
投稿内にhtmlのpタグでくくり、idで内容(日付)を呼び出したく思っているのですが、
表示がされてくれません。
よろしくお願いいたします。
miyabi_takatsukさん
ご指摘ありがとうございます。
大変失礼しました。。
まずはエラー確認から。
ブラウザ開発ツールのコンソールを確認してください。
しかしWordPressですか。JavaScriptじゃなきゃできないですか?
現在日時の表示くらいならPHPで済むのですけど。
m.ts10806さん
WPのみであればPHPで簡単にという方法もありだとは思っているのですが、
PHPのないサイトでの修正に必要なため、
勉強がてらJavaScriptで書いて、メモとしてWPの投稿内で残しておこう。
と思って書いていたのですが、うまくいかず。という感じでして。。
エラーはすいません、色々なプラグインのエラーがたくさん混在してる状態ですので、
少々時間がかかりそうです。
わかり次第書かせていただきますね。
引き続きよろしくお願いいたします。
そもそも自動表示の「自動」、つまり表示のタイミングを制御する部分が見当たらないのですが。例えば1秒ごとに定周期なのか、ボタン押したときとか、HTMLが最初に表示されたときとか。HTML全体を示さないと、閲覧者、回答者には分からないと思いますよ。
>WPのみであればPHPで簡単にという方法もありだとは思っているのですが、
PHPのないサイトでの修正に必要なため、
勉強がてらJavaScriptで書いて、メモとしてWPの投稿内で残しておこう。
と思って書いていたのですが、うまくいかず。という感じでして。。
ちょっと意味が分かりません。下記内容から伝わるのは「WordPressで実現したい」のように思うのですけど。
>具体的にはWordPressで作成中の投稿内に表示したく、
jsファイルの別ファイルに以下の記述をし、
投稿内にhtmlのpタグでくくり、idで内容(日付)を呼び出したく思っているのですが、
表示がされてくれません。
ただ、通常、投稿はHTMLのエスケープ入ってますから、JavaScript動きませんよね。
WYSIWYGエディタ上の話でしょうか?(それでもJavaScript動いたっけか)
ご提示のコードで問題なく動作しました。
なんとなく、DOMが準備される前に実行しているのではないか、思うのですが。
「jsファイルの別ファイルに以下の記述をし」とのことですが、読み込み部分周辺のコードを見てみたいです。
dodox86さん、
>表示のタイミングを制御する部分が見当たらない
ページが表示された時に日時が表示されればよいのですが、
申し訳ないです、制御する部分が必要とは知りませんでした。
プログラミング初心者ですので、
もう少し調べてこの意味と記述方法がわかれば追記したいと思います。
ご指摘ありがとうございます。
> @Lhankor_Mhyさん
> なんとなく、DOMが準備される前に実行しているのではないか、思うのですが。
なんとなくですが、質問者さんは<head>内で定義とかしているのかな、と思いました。
本質問でいただいた回答者さんのコードでは<body>タグ内ですね。
関連質問:
[scriptタグはなんで通常bodyに書くのか。]https://teratail.com/questions/67208
m.ts10806さん
>ちょっと意味が分かりません。
わかりにくくて申し訳ありません。
記載していた内容の前半部分が消えていました。。再度記載させていただきますね。
WPではなく、htmlのみで作成されている当方が管理しているサイトがあるのですが、
そこで日付の自動更新をしたく思っていました。
そのため、メモとしてWPの投稿内でも残しておこう。
と思いWPの投稿にhtmlの記述を、そしてjsファイルにscriptの記述を書いていたのですが、うまく表示されず。
といった感じです。
>ただ、通常、投稿はHTMLのエスケープ入ってますから、JavaScript動きませんよね。
すいません、当方の環境では動くので、もしかしたら何か仕様変更を以前にしたのかもしれません。そこまで把握できてないので、
わかり次第記載させていただきますね。
ご指摘ありがとうございました。
あー、いや、$(function(){})に書かれてるから、それはなさそうでしたね。動的にHTMLが構成されているならともかく。
そうすると、jQuery が読み込まれる前に実行しているとか、その辺かな?
回答2件
あなたの回答
tips
プレビュー